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