Как использовать опцию if-else в JSTL - PullRequest
314 голосов
/ 03 января 2011

Есть ли в JSTL тег if-else?

Ответы [ 5 ]

505 голосов
/ 03 января 2011

Да, но это чертовски неуклюже, например,

<c:choose>
  <c:when test="${condition1}">
    ...
  </c:when>
  <c:when test="${condition2}">
    ...
  </c:when>
  <c:otherwise>
    ...
  </c:otherwise>
</c:choose>
101 голосов
/ 07 ноября 2012

Для простого if-else вы можете использовать троичный оператор, как этот

<c:set value="34" var="num"/>
<c:out value="${num % 2 eq 0 ? 'even': 'odd'}"/>
45 голосов
/ 30 ноября 2014

Нет if-else, просто if.

<c:if test="${user.age ge 40}">
 You are over the hill.
</c:if>

При желании вы можете использовать select-when:

<c:choose>
  <c:when test="${a boolean expr}">
    do something
  </c:when>
  <c:when test="${another boolean expr}">
    do something else
  </c:when>
  <c:otherwise>
    do this when nothing else is true
  </c:otherwise>
</c:choose>
23 голосов
/ 19 февраля 2016

Мне просто не хватило двух тегов if, и я решил добавить ответ, если он кому-нибудь пригодится:

<c:if test="${condition}">
  ...
</c:if>
<c:if test="${!condition}">
  ...
</c:if>

хотя технически это не if-else само по себе, поведение такое же и избегает неуклюжего подхода использования тега choose, поэтому в зависимости от сложности вашего требования это может быть предпочтительнее.

4 голосов
/ 27 октября 2017

Вы должны использовать этот код:

с <%@ taglib prefix="c" uri="http://www.springframework.org/tags/form"%>

и

<c:select>
            <option value="RCV"
                ${records[0].getDirection() == 'RCV' ? 'selected="true"' : ''}>
                <spring:message code="dropdown.Incoming" text="dropdown.Incoming" />
            </option>
            <option value="SND"
                ${records[0].getDirection() == 'SND'? 'selected="true"' : ''}>
                <spring:message code="dropdown.Outgoing" text="dropdown.Outgoing" />
            </option>
        </c:select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...