Исключить пустые поля из сортировки jaxb

У меня есть POJO, который я хочу упорядочить и отправить как xml, а также демаршалировать данные, возвращаемые тем же веб-сервисом. Однако в этом POJO есть определенные поля, которые я не хочу отправлять, но которые могут быть в возвращенном xml с сервера.

Проблема здесь в том, что если у меня, например, есть поле int с именем status, и я фактически не устанавливаю никакого значения для этого поля (поскольку я не хочу отправлять это поле на сервер), JAXB все равно создает элемент 0 в xml .

Итак, мой вопрос: как я могу предотвратить такое поведение и просто опустить поле, но все же иметь возможность читать значение элемента, возвращаемого с сервера?

С уважением.


person Troels    schedule 12.05.2012    source источник
comment
Используйте Integer вместо int, и тогда JAXB пропустит нулевое значение.   -  person skaffman    schedule 12.05.2012
comment
Спасибо, что действительно отлично сработало   -  person Troels    schedule 12.05.2012


Ответы (2)


Повторить мой комментарий в качестве ответа ...

Поскольку int не может представлять «нет значения», вы можете вместо этого использовать Integer. Если это null, то JAXB будет опускать поле при маршалинге.

person skaffman    schedule 12.05.2012

С JAXB Integer будет преобразован в 0 (не нуль).

person guets    schedule 24.07.2012