Чи є в JSTL тег if-else?
Чи є в JSTL тег if-else?
Відповіді:
Так, але це незграбно, як пекло, наприклад
<c:choose>
<c:when test="${condition1}">
...
</c:when>
<c:when test="${condition2}">
...
</c:when>
<c:otherwise>
...
</c:otherwise>
</c:choose>
<c:if/>
тоді.
<c:otherwise>
здається, трохи багатослівний, так?
Немає іншого, просто якщо.
<c:if test="${user.age ge 40}">
You are over the hill.
</c:if>
За бажанням ви можете використовувати вибір, коли:
<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>
Я пішов із простого використання двох тегів, я подумав би додати відповідь у випадку, якщо це буде корисним для когось іншого:
<c:if test="${condition}">
...
</c:if>
<c:if test="${!condition}">
...
</c:if>
в той час як технічно це не само if-else
по собі, поведінка однакова і дозволяє уникнути незграбного підходу до використання choose
тегу, тому залежно від того, наскільки складна ваша вимога, це може бути кращим.
choose
тегом.
ви повинні використовувати цей код:
з <%@ 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>
Це хороший та ефективний підхід відповідно до перспективи складності. Як тільки він отримає справжній стан, він не перевірятиме жодного іншого після цього. У кількох Якщо він перевірятиме кожну та умову.
<c:choose>
<c:when test="${condtion1}">
do something condtion1
</c:when>
<c:when test="${condtion2}">
do something condtion2
</c:when>
......
......
......
.......
<c:when test="${condtionN}">
do something condtionn N
</c:when>
<c:otherwise>
do this w
</c:otherwise>
</c:choose>