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

Popular posts from this blog

c# - How to set Z index when using WPF DrawingContext? -

razor - Is this a bug in WebMatrix PageData? -

visual c++ - Using relative values in array sorting ( asm ) -