Как использовать опцию if-else в JSTL
есть ли тег if-else, доступный в JSTL?
5 ответов:
да, но это бывает, например,
<c:choose> <c:when test="${condition1}"> ... </c:when> <c:when test="${condition2}"> ... </c:when> <c:otherwise> ... </c:otherwise> </c:choose>
для простого if-else вы можете использовать тернарный оператор, как это
<c:set value="34" var="num"/> <c:out value="${num % 2 eq 0 ? 'even': 'odd'}"/>
нет никакого если-еще, просто если.
<c:if test="${user.age ge 40}"> You are over the hill. </c:if>
дополнительно вы можете использовать choose-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>
мне сошло с рук просто с помощью двух тегов if, я думал, что добавлю ответ, если он пригодится кому-то еще:
<c:if test="${condition}"> ... </c:if> <c:if test="${!condition}"> ... </c:if>
хотя технически не
if-else
по сути, поведение такое же, и позволяет избежать громоздкого подхода использоватьchoose
tag, поэтому в зависимости от того, насколько сложны ваши требования, это может быть предпочтительнее.
вы должны использовать этот код:
С
<%@ 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>