zoukankan      html  css  js  c++  java
  • Struts2 Json 获取基类的属性

      使用Struts2 JSON默认只能获取当前类(Action)的属性,对于基类的属性是屏蔽了的。例如:

    public abstract class BaseAcion extends ActionSupport {
        private String result;
        private String message;
    
        //getters, setters
    }
    
    public class MyAction extends BaseAction {
        private String myFirstField;
        private String mySecondField;
    
        public String execute() {
             ...
             myFirstField = "someValue";
             mySecondField = "someOtherValue";
             ...
             result = SUCCESS;
             message = "Some message here";
             ...
             return result;
        }
    
        //methods, getters, setters
    }

    配置文件:

    <package name="my-package" namespace="/" extends="json-default" >
        <action name="myAction" class="MyAction">
            <result type="json"></result>
        </action> 
    </package>

    请求Action返回的JSON里只有:

    {
        "myFirstField":"someValue",
        "mySecondField":"someOtherValue"
    }

    而没有包括BaseAction的resulthe和message。

    若需要JSON同时获取基类的属性,需要设置:

    <result type="json">
      <param name="ignoreHierarchy">false</param>
    </result>

    详细可参考JSONPlugin

    另外的写法是:

    @ParentPackage("json-default")
    @Result(name="success", type="json", params={"noCache","true", "ignoreHierarchy","false"})
    @SuppressWarnings("serial")
    public class MyAction extends BaseAction {
        private String myFirstField;
        private String mySecondField;
    
        public String execute() {
             ...
             myFirstField = "someValue";
             mySecondField = "someOtherValue";
             ...
             result = SUCCESS;
             message = "Some message here";
             ...
             return result;
        }
    
        //methods, getters, setters
    }

    =======================================================================
    野文(Jasson Qian)
    ------------------------------------------------------
    博客园:http://qguohog.cnblogs.com
    CSDN:http://blog.csdn.net/sallay
  • 相关阅读:
    Django前后端分离项目部署
    python虚拟环境设置
    pandas高级操作
    Auth模块
    Django中间件
    CSRF(Cross-site request forgery)跨站请求伪造
    cookie与session组件
    创建多对多表关系的三种方式
    form组件
    python2和python3的区别
  • 原文地址:https://www.cnblogs.com/qguohog/p/2834573.html
Copyright © 2011-2022 走看看