• 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
  • 相关阅读:
    关于PPTP不能打开部分网页
    在MarS Board上搭建PPTP
    Mars Board上无法使用apt-get
    在MarS board上烧录系统镜像
    PHP-变量(1)
    在KEIL 4.72中使用STM32的3.5固件库
    android SDK中java环境变量配置
    android SDK中打开AVD时提示PANIC: Could not open:XX
    ckplayer通过Mod-H264支持随意拖动功能
    430学习笔记-内置ADC12
  • 原文地址:https://www.cnblogs.com/qguohog/p/2834573.html
Copyright © 2020-2023  润新知