107

How do I check two conditions in one <c:if>? I tried this, but it raises an error:

<c:if test="${ISAJAX == 0} && ${ISDATE == 0}"> 
Kukeltje
  • 12,223
  • 4
  • 24
  • 47
Selva Kumar K.P.
  • 1,099
  • 3
  • 10
  • 10

4 Answers4

165

This look like a duplicate of JSTL conditional check.

The error is having the && outside the expression. Instead use

<c:if test="${ISAJAX == 0 && ISDATE == 0}">
Community
  • 1
  • 1
olly_uk
  • 11,559
  • 3
  • 39
  • 45
36

If you are using JSP 2.0 and above It will come with the EL support: so that you can write in plain english and use and with empty operators to write your test:

<c:if test="${(empty object_1.attribute_A) and (empty object_2.attribute_B)}">
Jules0707
  • 605
  • 7
  • 3
20

Recommendation:

when you have more than one condition with and and or is better separate with () to avoid verification problems

<c:if test="${(not validID) and (addressIso == 'US' or addressIso == 'BR')}">
Community
  • 1
  • 1
Joel Estramil
  • 313
  • 3
  • 9
2

Just in case somebody needs to check the condition from session.Usage of or

<c:if test="${sessionScope['roleid'] == 1 || sessionScope['roleid'] == 4}">
A_01
  • 1,021
  • 11
  • 27