Преобразовать пустое число в нуль

есть ли возможность указать моей JSF-реализации преобразовывать пустые числа в null. Пока я всегда получаю 0 (соответствующего сложного типа).
Для пустых строк есть javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL, но я не мог ничего найти для чисел. Кстати: нет, я не могу использовать vm-аргумент: -Dorg.apache.el.parser.COERCE_TO_ZERO = false

Единственная возможность для меня - преобразователь пользовательских чисел?


person user871611    schedule 23.04.2012    source источник


Ответы (2)


Нет, я не могу использовать vm-аргумент: -Dorg.apache.el.parser.COERCE_TO_ZERO = false

Проблема заключается в реализации EL, используемой сервером, а не в JSF. Вам действительно нужно использовать аргумент VM. Если вы не можете его использовать, ваша проблема не может быть решена другим способом, кроме понижения версии Tomcat до 6.0.15 или старше или замены сервера, например, Glassfish. Это «улучшенное» поведение принуждения EL было представлено в Tomcat 6.0.16.

Если вы уточните точную причину, по которой вы не можете его использовать (по крайней мере, для меня это не имеет смысла), тогда мы сможем предложить способы, как на самом деле его использовать. Например, если вы не знаете, как задать аргумент виртуальной машины, скажите об этом. Или, если вам не разрешено добавлять аргумент виртуальной машины в сценарий запуска, потому что это сервер, обслуживаемый третьей стороной, скажите об этом. Обе проблемы могут быть решены, так что вы можете правильно использовать аргумент VM.

person BalusC    schedule 23.04.2012
comment
Привет, BalusC, спасибо за быстрый ответ. Я не могу добавить аргумент виртуальной машины, потому что это сторонний сервер. Джонни - person user871611; 23.04.2012
comment
Затем перейдите к этому ответу: stackoverflow.com / questions / 5225013 / coerce-to-zero-at-runtime / - person BalusC; 23.04.2012
comment
Йепп, это было именно то, что мне нужно. Спасибо BalusC - person user871611; 23.04.2012

Ранее было -Dorg.glassfish.el.COERCE_TO_ZERO = true: https://java.net/projects/uel/lists/issues/archive/2012-04/message/1 Теперь (Glassfish v4) зря! https://java.net/projects/uel/lists/commit/archive/2012-04/message/3

person Zhu Fei    schedule 21.04.2014