Как программно установить -Dorg.apache.el.parser.COERCE_TO_ZERO = false

Этот вопрос похож на:

jsf: целочисленное свойство, привязанное к входному тексту в пользовательском интерфейсе, устанавливается в ноль при отправке

, но я не полностью удовлетворен с раствором. Контексты те же: у меня есть веб-форма, требующая целочисленного значения. Если текстовое поле остается пустым, я хочу, чтобы мое целочисленное поле было «нулевым», но вместо этого EL Parser автоматически устанавливает мое поле идентификатора на «0».

Я могу решить проблему, установив параметр JVM в моей локальной виртуальной машине Tomcat:

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

Однако это не будет работать на машине нашего клиента. Можно ли установить / изменить этот параметр JVM "в коде".

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

https://issues.apache.org/bugzilla/show_bug.cgi?id=48813

Обновление 2: Я не могу изменить значение обратно с «0» на «ноль», потому что мое приложение должно рассматривать «0» как фактический идентификатор. Поэтому мне нужно знать во время выполнения, осталось ли текстовое поле id пустым или нет.

25
задан Community 23 May 2017 в 12:33
поделиться