Как проверить два условия в одном <c:if>
? Я пробовал это, но это вызывает ошибку:
<c:if test="${ISAJAX == 0} && ${ISDATE == 0}">
Как проверить два условия в одном <c:if>
? Я пробовал это, но это вызывает ошибку:
<c:if test="${ISAJAX == 0} && ${ISDATE == 0}">
Это выглядит как дубликат условной проверки JSTL.
Ошибка заключается в том, что &&
находится вне выражения. Вместо этого используйте
<c:if test="${ISAJAX == 0 && ISDATE == 0}">
Если вы используете JSP 2.0 и выше, он будет поставляться с поддержкой EL: так что вы можете писать на простом английском языке и использовать операторы and
с операторами empty
для написания теста:
<c:if test="${(empty object_1.attribute_A) and (empty object_2.attribute_B)}">
Рекомендация:
когда у вас есть более одного условия с and
и or
лучше разделить с ()
, чтобы избежать проблем с проверкой
<c:if test="${(not validID) and (addressIso == 'US' or addressIso == 'BR')}">
На всякий случай кому-то нужно проверить условие из сеанса. Использование or
<c:if test="${sessionScope['roleid'] == 1 || sessionScope['roleid'] == 4}">