我有以下实施
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
}
我使用过struts2-json插件,动作映射是
<package name="my-package" namespace="/" extends="json-default" >
<action name="myAction" class="MyAction">
<result type="json"></result>
</action>
</package>
我收到的回复是这样的。
{
"myFirstField":"someValue",
"mySecondField":"someOtherValue"
}
我也希望得到“结果”和“消息”字段。
如何在json响应中包含BaseAction字段?
答案 0 :(得分:11)
默认情况下,在“root”对象的基类上定义的属性不会被序列化,以序列化所有基类中的属性(最多为Object),在JSON结果中将“ignoreHierarchy”设置为false:
像
这样的东西<result type="json">
<param name="ignoreHierarchy">false</param>
</result>
有关详细信息,请参阅JSON插件文档