Передача только части свойств в классе в json распорок - PullRequest
5 голосов
/ 03 августа 2011

Извините, я действительно не знаю, как обобщить заголовок этого вопроса. Таким образом, название может быть непонятным.

У меня есть класс действий, который выполняет некоторую бизнес-логику.

в классе действий:

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 .

Однако в свойстве товар я хочу передать только свойство name , одновременно подавляя два других свойства.

Тогда как запретить передачу двух других свойств (цены и описания) в класс товаров?

Ответы [ 3 ]

5 голосов
/ 03 августа 2011

Попробуйте что-то вроде:

<!-- 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

0 голосов
/ 21 ноября 2016

@ 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>
0 голосов
/ 05 марта 2013

Самый простой способ - создать объект передачи данных в вашем классе действий, который содержит только поля, которые вы хотите отправить клиенту, и сделать его корневым объектом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...