Подтвердить что ты не робот

H: inputText, привязанный к свойству Integer, представляет значение 0 вместо null

Мы используем h:inputText на странице JSF, которая привязана к свойству Integer (и, следовательно, может принимать null). Если в h:inputText нет значения, форма отправляет 0 вместо null. Мы используем Trinidad 1.2.2 и Tomcat 6.0.20 (мы также пробовали с Tomcat 6.0.14, поскольку мы читаем, что это может произойти с версиями версии Tomcat.)

Как это вызвано и как я могу его решить?

4b9b3361

Ответ 1

Эта "функция" была результатом исправления в EL, который был введен в Tomcat 6.0.16. В соответствии с главой 1.18.3 спецификации

В конце концов, пустая строка была на самом деле гораздо более интуитивной, чем нуль. Ребята из Tomcat в Apache получили много жалоб на это исправление, поэтому они представили новый параметр конфигурации в духе аргумента VM в соответствии с Tomcat 6.0.17, который отключил бы это исправление.

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

Я, кстати, попросил изменить эту спецификацию, чтобы он только принуждал пустые/нулевые примитивные типы к нулю и пустые/нулевые непримитивные java.lang.Number типы для пустой строки: . Они мало что с ней сделали, но вопрос, по крайней мере, получил много голосов. Кто знает... Это поведение, по крайней мере, действительно очень раздражает, потому что оно неинтуитивно.

См. также: