如何在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> 

对于简单的if-else,你可以像这样使用三元运算符

 <c:set value="34" var="num"/> <c:out value="${num % 2 eq 0 ? 'even': 'odd'}"/> 

没有if,否则,如果。

 <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> 

尽pipe技术上不是if-else本身,但其行为是相同的,并且避免了使用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>