Mam POJO:Wywołanie metody z parametrami zerowymi w El kończy się w 0 przepuszcza zamiast null
public class Foo {
public String getValue(Integer arg0, BigDecimal arg1) {...}
}
umieścić go jako modelu parametrach od wiosny MVC do JSP, i starają się go używać:
<c:set var="ans" value="${foo.getValue(null, null)}"/>
Ale w getValue
metody
arg0 = 0
arg1 = 0
zamiast oczekiwać
arg0 = null
arg1 = null
Próbowałem uruchomić go na Tomcat 7.0.40 i na molo 9.0.3
Czy to jakiś bug Tomcat, czy jest ona właściwa droga EL działa? Jak mogę wywołać metodę z parametrami pustymi w EL?
Aktualizacja 1: Kilka źródeł i dokumentacja (http://tomcat.apache.org/tomcat-7.0-doc/config/systemprops.html) mówi, że dodanie personelem na JVM
-Dorg.apache.el.parser.COERCE_TO_ZERO=false
rozwiązuje go.
Ale kiedy to ustawiam, nic się nie dzieje. Mam zestaw może skorygować
System.getProperty("org.apache.el.parser.COERCE_TO_ZERO")`
powraca "false"
Runtime)
być Tomcat potrzebne jakieś inne ustawienia zmienić aby skorzystać z tej param ...
istnieje coś, co nie przekonuje mnie z tym ' '. Podczas korzystania z JSTL nie można wywołać metody w ten sposób. Możesz uzyskać dostęp do atrybutów zamiast '$ {foo.value}', a odpowiedni getter zostanie wywołany za kulisami. Poza tym nie można przekazywać parametrów, ponieważ zakłada się, że pobierający jest bez parametrów, –
MaVVamaldo
@maVVamaldo, w EL 2.2 jest to możliwe. –
Mając ten sam problem. Ustaw właściwość COERCE_TO_ZERO zarówno w pliku catalina.properties Tomcat7, jak iw ServletContextLoader, ale nie działa. – azgolfer