假设我的 Struts 映射返回一个 JSON 字符串,
<action name="retrieveJson" method="retrieveJson" class="myapp.WebServiceAction">
<result type="json">
<param name="contentType">text/plain</param>
</result>
</action>
我的 Action 类有多个可以“解释”为潜在结果的变量。
public class WebServiceAction {
private List<PublicationRecord> publicationRecords; // getters+setters
private List<ReviewRecord> reviewRecords; // getters+setters
private List<CustomRecord> customRecords; // getters+setters
}
当我执行以下操作时,我设置了我想要的特定变量,但 Struts2 似乎返回了 Action 下适合的所有变量:
public String retrieveJson() {
publicationRecords = service.getPublicationRecords();
return SUCCESS;
}
返回SUCCESS是错误的吗?我只想要我在这个方法中设置的 JSON-ified 变量。现在,它正在返回所有 3 个变量,
{
"publicationRecords" : ..,
"reviewRecords" : null,
"customRecords" : null
}
预期的:
{"publicationRecords" : .. }
为此,您可以使用 2 个属性。excludeNullProperties
或includeProperties
仅序列化所需的字段。includeProperties
如果您不想序列化完整的对象内容,还允许使用正则表达式。
<result type="json">
<param name="includeProperties">
^entries\[\d+\].clientNumber,
^entries\[\d+\].scheduleNumber,
^entries\[\d+\].createUserId
</param>
</result>
这里是官方文档。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句