¿Cómo verifico dos o más condiciones en un <c: if>?

98

¿Cómo verifico dos condiciones en una <c:if>? Intenté esto, pero genera un error:

<c:if test="${ISAJAX == 0} && ${ISDATE == 0}"> 
Selva Kumar KP
fuente

Respuestas:

157

Esto parece un duplicado de la verificación condicional de JSTL .

El error es tener el &&exterior de la expresión. En su lugar use

<c:if test="${ISAJAX == 0 && ISDATE == 0}">
olly_uk
fuente
34

Si está utilizando JSP 2.0 y superior, vendrá con el soporte de EL : para que pueda escribir en inglés sencillo y usarlo andcon emptyoperadores para escribir su prueba:

<c:if test="${(empty object_1.attribute_A) and (empty object_2.attribute_B)}">
Jules Martel
fuente
16

Recomendación:

cuando tiene más de una condición con andy ores mejor separar con ()para evitar problemas de verificación

<c:if test="${(not validID) and (addressIso == 'US' or addressIso == 'BR')}">
Joel Estramil
fuente
1

En caso de que alguien necesite verificar la condición de la sesión. or

<c:if test="${sessionScope['roleid'] == 1 || sessionScope['roleid'] == 4}">
A_01
fuente