5

对不起,我真的不知道如何总结这个问题的标题。所以,标题可能不太清楚。

我有一个执行一些业务逻辑的动作类。

在动作类中:

class ActionClass extends ActionSupport{
      private Merchandise merchandise;// I want to transfer it to the client
      //setter and getter

}

在商品类中:

class Merchandise{
    private String name; // I want to transfer it
    private String price; //I don't want to transfer it
    private String description;//I don't want to transfer it
    //setter and getter
}

现在,我需要将ActionClass中的商品属性传递给客户端。

但是,在商品属性中,我只想传输名称属性,同时禁止其他两个属性。

那么如何抑制 Merchandise 类中其他两个属性(价格和描述)的转移?

4

3 回答 3

5

尝试类似:

<!-- Result fragment -->
<result type="json">
  <param name="root">merchandise</param>
  <param name="excludeProperties">price,description</param>
</result>

请参阅http://struts.apache.org/2.2.3/docs/json-plugin.html上的完整文档、其他选项和示例

于 2011-08-03T11:53:22.047 回答
0

最简单的方法是在您的操作类中创建一个数据传输对象,该对象仅包含您要发送到客户端的字段,并使其成为您的根对象

于 2013-03-05T07:26:41.280 回答
0

@nmc 答案是正确的另一种方式,您可以尝试:

<result type="json">
  <param name="root">merchandise</param>
  <param name="includeProperties">name</param>
</result>

或者

    <result type="json">
     <param name="includeProperties">
       merchandise.name
     </param>
     <param name="root">
       #action
     </param>
    </result>
于 2016-11-21T07:35:05.683 回答