Christmas Pikachu jstl 조건문 (if, choose)
개발일지/자바스크립트

jstl 조건문 (if, choose)

ZI_CO 2024. 1. 19.

<c:choose>와 <c:if>는 조건문을 처리하는 JSP 태그입니다. 각각의 장단점과 코드 적용 방법을 정리해보겠습니다.

<c:choose>: 장점:

여러 개의 조건을 처리할 수 있습니다. <c:when> 태그를 여러 번 사용하여 다양한 조건을 처리할 수 있습니다.
가독성이 좋습니다. 여러 개의 조건을 명확하게 구분하여 작성할 수 있어 코드의 가독성이 높아집니다.
단점:

코드의 길이가 길어질 수 있습니다. 여러 개의 <c:when> 태그를 작성해야 하므로 코드가 길어질 수 있습니다.
<c:if>: 장점:

단일 조건을 처리할 때 간편합니다. 단일 조건을 처리할 때에는 <c:if> 태그를 사용하는 것이 간단하고 편리합니다.
코드의 길이가 짧습니다. 단일 조건을 처리할 때에는 <c:if> 태그를 사용하므로 코드의 길이가 짧아집니다.
단점:

여러 개의 조건을 처리하기에는 제한적입니다. <c:if> 태그는 단일 조건만을 처리하기 때문에 여러 개의 조건을 처리하기 위해서는 추가적인 로직이 필요할 수 있습니다.
위의 장단점을 고려하여 코드를 적용해보겠습니다.


<c:choose>를 적용한 경우:

<c:choose>
  <c:when test="${empty loginId}">
    <ul>
      <li><a href="loginPage.do" class="active">로그인</a></li>
      <li><a href="joinPage.do" class="active">회원가입</a></li>
    </ul>
  </c:when>
  <c:otherwise>
    <ul>
      <li><a href="logout.do">로그아웃</a></li>
      <li><a href="pwCheckPage.do" class="active">마이페이지</a></li>
    </ul>
  </c:otherwise>
</c:choose>

 

 

<c:if>를 적용한 경우:

<c:if test="${empty loginId}">
  <ul>
    <li><a href="loginPage.do" class="active">로그인</a></li>
    <li><a href="joinPage.do" class="active">회원가입</a></li>
  </ul>
</c:if>
<c:if test="${not empty loginId}">
  <ul>
    <li><a href="logout.do">로그아웃</a></li>
    <li><a href="pwCheckPage.do" class="active">마이페이지</a></li>
  </ul>
</c:if>

 


위의 코드는 <c:choose>와 <c:if>를 각각 적용한 예시입니다. 두 가지 방법 모두 동일한 결과를 나타내지만,

 <c:choose>는 여러 개의 조건을 처리하는 데에 유리하며, <c:if>는 단일 조건을 처리하기에 간단하고 직관적입니다. 적용하고자 하는 상황과 조건의 복잡도에 따라 적절한 방법을 선택하여 사용하시면 됩니다.

 

 

'개발일지 > 자바스크립트' 카테고리의 다른 글

코드 실행 특정 시간 대기/지연 방법  (0) 2024.10.31
jstl 비교 연산자  (0) 2024.01.19
<%= %> , <% %> 차이  (2) 2024.01.05
getElementById 사용하기  (0) 2022.11.18
Prompt  (0) 2022.11.16

댓글