test tag lib agregar java jsp websphere jstl jsp-tags

java - tag - JSTL si etiqueta para cadenas iguales



jstl java (4)

Creo que las otras respuestas omiten un detalle importante con respecto al nombre de la propiedad para usar en la expresión EL. Las reglas para convertir los nombres del método en nombres de propiedad se especifican en ''Introspector.decpitalize` que es parte del estándar de Java Bean:

Esto normalmente significa convertir el primer carácter de mayúscula a minúscula, pero en el caso especial (inusual) cuando hay más de un carácter y tanto el primer como el segundo caracteres son mayúsculas, lo dejamos solo.

Así, "FooBah" se convierte en "fooBah" y "X" se convierte en "x", pero "URL" se mantiene como "URL".

Entonces, en su caso, el código JSTL debería ser similar al siguiente, tenga en cuenta la ''P'' mayúscula:

<c:if test = "${ansokanInfo.PSystem == ''NAT''}">

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 uso una etiqueta para conocer el caso? Intenté algo así como

<c:if test = "${ansokanInfo.getPSystem() == ''NAT''}"> process </c:if>

Pero lo anterior no muestra nada. ¿Cómo debería hacerlo? O también puedo usar scriptlets, es decir,

<% if (ansokanInfo.getPSystem().equals("NAT"){ %> process <% } %>

Gracias por cualquier respuesta o comentario.


Puede usar scriptlets, sin embargo, este no es el camino a seguir. Los scriplets en línea de hoy o el código JAVA en sus archivos JSP se consideran un mal hábito.

Deberías leer un poco más en JSTL. Si el objeto ansokanInfo está en su solicitud o alcance de sesión, imprima el objeto (método toString ()) de la siguiente manera: $ {ansokanInfo} puede proporcionarle información básica. $ {ansokanInfo.pSystem} debería llamar al método getter del objeto. Si todo esto funciona, puedes usar esto:

<c:if test="${ ansokanInfo.pSystem == ''NAT''}"> tataa </c:if>


Tratar:

<c:if test = "${ansokanInfo.PSystem == ''NAT''}">

JSP / Servet 2.4 (creo que es el número de versión) no admite llamadas de método en EL y solo admite propiedades. Los últimos contenedores de servlets admiten llamadas de método (es decir, Tomcat 7).


<c:if test="${ansokanInfo.pSystem eq ''NAT''}">