Comment vérifier deux ou plusieurs conditions dans un <c: if>?

98

Comment vérifier deux conditions en une <c:if>? J'ai essayé ceci, mais cela soulève une erreur:

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

Réponses:

157

Cela ressemble à un double du contrôle conditionnel JSTL .

L'erreur est d'avoir l' &&extérieur de l'expression. Utilisez plutôt

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

Si vous utilisez JSP 2.0 et supérieur, il sera fourni avec le support EL : afin que vous puissiez écrire en anglais simple et l'utiliser andavec des emptyopérateurs pour écrire votre test:

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

Recommandation:

lorsque vous avez plus d'une condition avec andet qu'il orvaut mieux séparer avec ()pour éviter les problèmes de vérification

<c:if test="${(not validID) and (addressIso == 'US' or addressIso == 'BR')}">
Joël Estramil
la source
1

Juste au cas où quelqu'un aurait besoin de vérifier l'état de la session. or

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