Ho un POJO:metodo di chiamata con parametri nulli nelle EL finisce tra 0 essere passato invece di null
public class Foo {
public String getValue(Integer arg0, BigDecimal arg1) {...}
}
metto come modello-parametro da Spring MVC in JSP, e cercare di usarlo:
<c:set var="ans" value="${foo.getValue(null, null)}"/>
Ma in getValue
metodo
arg0 = 0
arg1 = 0
invece previsto
012.arg0 = null
arg1 = null
ho cercato di eseguire sul Tomcat 7.0.40 e sul pontile 9.0.3
E 'un po' di Tomcat bug, o si tratta di opere modo giusto EL? Come posso chiamare il metodo con parametri null in EL?
Update 1: Diverse fonti, e la documentazione (http://tomcat.apache.org/tomcat-7.0-doc/config/systemprops.html) dice che l'aggiunta di proprietà JVM
-Dorg.apache.el.parser.COERCE_TO_ZERO=false
lo risolve.
Ma quando l'ho impostato, non succede nulla. Ho impostato corretto
System.getProperty("org.apache.el.parser.COERCE_TO_ZERO")`
rendimenti "false"
in fase di esecuzione)
Può essere Tomcat bisogno di alcune altre impostazioni per modificare per utilizzare questo parametro ...
c'è qualcosa che non mi convince con questo ' '. Durante l'utilizzo di JSTL non è possibile chiamare il metodo in questo modo. Puoi accedere agli attributi invece '$ {foo.value}' e il getter corrispondente verrà chiamato dietro le quinte. Inoltre, non è possibile passare parametri poiché si presume che un getter non sia parametrizzabile –
MaVVamaldo
@maVVamaldo, in EL 2.2 è possibile. –
Avendo lo stesso problema. Imposta la proprietà COERCE_TO_ZERO sia nel file catalina.properties di Tomcat7 che in ServletContextLoader e non ha funzionato. – azgolfer