JSF 2 - скрыть значения по умолчанию на - PullRequest
3 голосов
/ 26 августа 2011

есть ли способ скрыть значения по умолчанию для моих числовых свойств? У меня есть поле int и, на мой взгляд, поле <h:inputText /> показывает 0. В дополнение к этому, если я оставлю этот ввод пустым, я получу NullPointerException для этого.

Могу ли я скрыть значение по умолчанию и рассматривать пустые входные данные как значение по умолчанию?

Я использую mojarra 2.1.2 на Tomcat 7

1 Ответ

10 голосов
/ 26 августа 2011

Примитив int всегда по умолчанию равен 0. Вы хотите использовать Integer вместо этого. E.g.:

public class Entity {

    private Integer value;

    // ...
}

Что касается сохранения null при отправке пустых данных, добавьте следующий контекстный параметр в web.xml:

<context-param>
    <param-name>javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL</param-name>
    <param-value>true</param-value>
</context-param>

Кроме того, если вы используете Tomcat или клон, использующий синтаксический анализатор Apache EL, добавьте также следующий аргумент запуска виртуальной машины сервера, чтобы предотвратить обработку Number значений как примитивов:

-Dorg.apache.el.parser.COERCE_TO_ZERO=false

В Eclipse вы можете установить его в конфигурации сервера (дважды щелкните запись сервера в представлении Серверы ) на вкладке Аргументы в диалоговом окне Открыть конфигурацию запуска, В производстве вы можете добавить его в переменную окружения JAVA_OPTS.

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