Gibt es ein if-else-Tag in JSTL?
Ja, aber es ist höllisch klobig, z.
<c:choose>
<c:when test="${condition1}">
...
</c:when>
<c:when test="${condition2}">
...
</c:when>
<c:otherwise>
...
</c:otherwise>
</c:choose>
Für ein einfaches Wenn-Sonst können Sie einen solchen ternären Operator verwenden
<c:set value="34" var="num"/>
<c:out value="${num % 2 eq 0 ? 'even': 'odd'}"/>
Es gibt kein Wenn-Sonst, nur wenn.
<c:if test="${user.age ge 40}">
You are over the hill.
</c:if>
Optional können Sie wählen, wann:
<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>
Ich habe es geschafft, einfach zwei if-Tags zu verwenden, und dachte, ich würde eine Antwort hinzufügen, falls es jemand anderem von Nutzen ist:
_<c:if test="${condition}">
...
</c:if>
<c:if test="${!condition}">
...
</c:if>
_
obwohl es sich technisch gesehen nicht um einen _if-else
_ handelt, ist das Verhalten dasselbe und vermeidet die umständliche Verwendung des choose
-Tags. Je nachdem, wie komplex Ihre Anforderung ist, ist dies möglicherweise vorzuziehen.
sie müssen diesen Code verwenden:
mit <%@ taglib prefix="c" uri="http://www.springframework.org/tags/form"%>
und
<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>