jsf - How to set -Dorg.apache.el.parser.COERCE_TO_ZERO=false programmatically -
this question similar to:
jsf: integer property binded inputtext in ui set 0 on submit
but not satisfied solution. contexts same: have web form requiring integer value. if textbox left empty, want integer field 'null' instead el parser automatically sets id field '0'.
i can fix problem setting jvm parameter in local tomcat vm:
-dorg.apache.el.parser.coerce_to_zero=false
however, not work our client's machine. possible set/change jvm parameter "in-code".
update: i've found being requested if else has other workaround, hear too.
https://issues.apache.org/bugzilla/show_bug.cgi?id=48813
update 2: can't change value '0' 'null' because application should treat '0' actual id. need know @ runtime whether id textbox left empty or not.
you can set system properties programmatically using system#setproperty()
.
system.setproperty("org.apache.el.parser.coerce_to_zero", "false");
however, need ensure been set before jsf/el ever initialized. best place servletcontextlistener
.
public class config implements servletcontextlistener { @override public void contextinitialized(servletcontextevent event) { system.setproperty("org.apache.el.parser.coerce_to_zero", "false"); } @override public void contextdestroyed(servletcontextevent event) { // noop } }
register <listener>
in web.xml
, or when you're on servlet 3.0 (tomcat 7 , so), @weblistener
annotation.
Comments
Post a Comment