[jsp] 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>


답변

skaffman 응답 외에도 간단한 if-else 이외의 삼항 연산자를 사용할 수 있습니다

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


답변

if-else는 없습니다.

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


답변

나는 단순히 두 개의 if 태그를 사용하여 도망갔습니다. 다른 사람에게 유용 할 경우 답변을 추가 할 것이라고 생각했습니다.

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

기술적으로 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>


답변

이것은 시간당 복잡성 전망에 따라 좋고 효율적인 접근법입니다. 일단 진정한 조건을 얻으면, 이후에는 다른 것을 점검하지 않을 것입니다. 다중 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>


답변