在JSTL中有if-else标记吗?


当前回答

你必须使用以下代码:

使用 <%@ taglib 前缀=“c” uri=“http://www.springframework.org/tags/form”%>

and

<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="${condition1}">
    ...
  </c:when>
  <c:when test="${condition2}">
    ...
  </c:when>
  <c:otherwise>
    ...
  </c:otherwise>
</c:choose>

除了skaffman回答,简单的if-else你可以使用这样的三元运算符

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

你必须使用以下代码:

使用 <%@ taglib 前缀=“c” uri=“http://www.springframework.org/tags/form”%>

and

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

从时间复杂度的角度来看,这是一种有效的方法。一旦它得到一个true条件,在此之后它将不再检查任何其他条件。在多个If中,它将检查每个和条件。

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

我只是简单地使用了两个if标签,我想我应该添加一个答案,以防它对其他人有用:

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

虽然技术上不是一个if-else本身,但行为是相同的,并且避免了使用choose标记的笨拙方法,因此根据您的需求有多复杂,这可能是更可取的。