如何使用struts 2 json插件在json响应中包含父类字段

Bil*_*rza 5 json struts2

我有以下实施

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
}
Run Code Online (Sandbox Code Playgroud)

我用过struts2-json插件,动作映射是

<package name="my-package" namespace="/" extends="json-default" >
    <action name="myAction" class="MyAction">
        <result type="json"></result>
    </action> 
</package>
Run Code Online (Sandbox Code Playgroud)

我收到的回复是这样的.

{
    "myFirstField":"someValue",
    "mySecondField":"someOtherValue"
}
Run Code Online (Sandbox Code Playgroud)

我想得到"结果"和"消息"字段作为回应.

如何在json响应中包含BaseAction字段?

Ume*_*thi 11

默认情况下,在"root"对象的基类上定义的属性不会被序列化,以序列化所有基类(最多为Object)中的属性,在JSON结果中将"ignoreHierarchy"设置为false:

就像是

<result type="json">
  <param name="ignoreHierarchy">false</param>
</result>
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅JSON插件文档