Tengo una variable de un objeto en mi página JSP:
<%= ansokanInfo.getPSystem() %>
El valor de la variable es NAT, que es correcto y quiero aplicar ciertos elementos de página para este valor. ¿Cómo utilizo una etiqueta para conocer el caso? Intenté algo como
<c:if test = "${ansokanInfo.getPSystem() == 'NAT'}">
process
</c:if>
Pero lo anterior no muestra nada. ¿Cómo debería hacerlo? ¿O puedo usar scriptlets es decir
<% if (ansokanInfo.getPSystem().equals("NAT"){ %>
process
<% } %>
Gracias por cualquier respuesta o comentario.
getPSystem()
yansokanInfo
? ¿Los configura en la solicitud o accede a ellos a través deimport
?Respuestas:
Tratar:
JSP / Servlet 2.4 (creo que ese es el número de versión) no admite llamadas a métodos en EL y solo admite propiedades. Los últimos contenedores de servlets admiten llamadas a métodos (es decir, Tomcat 7).
fuente
<c:if test = "${ansokanInfo.PSystem == 'NAT' || ansokanInfo.PSystem == 'CAT'}">
fuente
Creo que las otras respuestas pierden un detalle importante con respecto al nombre de propiedad que se usará en la expresión EL. Las reglas para convertir de nombres de métodos a nombres de propiedades se especifican en 'Introspector.decpitalize', que es parte del estándar de Java Bean:
Entonces, en su caso, el código JSTL debería tener el siguiente aspecto, tenga en cuenta la 'P' mayúscula:
fuente
Puede usar scriptlets, sin embargo, este no es el camino a seguir. Hoy en día, los scriplets en línea o el código JAVA en sus archivos JSP se consideran un mal hábito.
Debería leer un poco más sobre JSTL. Si el objeto ansokanInfo está en su solicitud o en el alcance de la sesión, imprimir el objeto (método toString ()) así: $ {ansokanInfo} puede proporcionarle información básica. $ {ansokanInfo.pSystem} debería llamar al método getter de objetos. Si todo esto funciona, puede usar esto:
fuente