Struts2-JSON插件有效吗?

时间:2013-11-29 11:37:29

标签: jsp struts2 struts2-json-plugin

我知道Struts2 JSON插件将整个Action类转换为JSON格式,并提供root param我们可以让它只将一个param转换为JSON格式。

如果我想从我的动作类的5个成员中删除,只有2或3个成员转换为JSON,该怎么办? 这可能吗?

3 个答案:

答案 0 :(得分:2)

您可以使用includePropertiesexcludeProperties

IncludeProperties在我的案例中并没有按预期工作因此,我更喜欢使用exludeProperties

动作配置看起来像

<action name="camp/ls" class="actions.MyAction">
            <result type="json">
                <param name="excludeProperties">
                    dataIsp,deviceBlacklist,deviceOs,deviceWhitelist,exchanges
                </param>
            </result>
        </action>

答案 1 :(得分:1)

最简单的方法是从您不希望JSON化的属性中删除 getters

仅使用 getter 的非瞬态属性。

答案 2 :(得分:0)

在这种情况下,您不应使用root参数,而应使用includeProperties参数。有关参考文档,请参阅this链接。

  

可以将以逗号分隔的正则表达式列表传递给   JSON结果限制将序列化哪些属性。只要   将包含与任何这些正则表达式匹配的属性   在&gt;序列化输出。

     

注意:

     

排除属性表达式优先于include属性   表达式。也就是说,如果使用include和exclude属性   表达式在相同的结果上,include属性表达式不会   如果排除排除属性表达式与a匹配,则应用   物业第一。

<!-- Result fragment -->
<result type="json">
  <param name="includeProperties">
    ^entries\[\d+\]\.clientNumber,
    ^entries\[\d+\]\.scheduleNumber,
    ^entries\[\d+\]\.createUserId
  </param>

</result>