본문 바로가기
프로그래밍/JAVA

JSP - JSTL의 c:choose, c:when, c:otherwise 태그를 이용한 조건문 작성

by AutoTechGuru 2023. 7. 26.
SMALL

JSTL에서는 c:choose, c:when, c:otherwise 태그를 사용하여 if-else와 같은 조건문을 작성할 수 있습니다. 이 태그들을 사용하면 다양한 조건을 검사하고, 해당하는 조건에 따라 다른 코드를 실행할 수 있습니다.

c:choose, c:when, c:otherwise 태그의 기본 사용법

기본적인 사용법은 다음과 같습니다:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<c:choose>
    <c:when test="${someCondition}">
        <!-- someCondition이 true일 때 이 부분이 실행됩니다. -->
    </c:when>
    <c:otherwise>
        <!-- 위의 모든 조건이 false일 때 이 부분이 실행됩니다. -->
    </c:otherwise>
</c:choose>

여기서 c:when 태그는 if와 같은 역할을 하며, c:otherwise 태그는 else와 같은 역할을 합니다. c:choose 태그는 이들을 묶는 역할을 합니다.

c:choose, c:when, c:otherwise 태그의 활용 예

예를 들어, 사용자의 나이에 따라 다른 메시지를 출력하는 코드는 다음과 같이 작성할 수 있습니다:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<c:choose>
    <c:when test="${user.age < 18}">
        <!-- 사용자의 나이가 18세 미만일 때 이 부분이 실행됩니다. -->
        <p>당신은 미성년자입니다.</p>
    </c:when>
    <c:otherwise>
        <!-- 사용자의 나이가 18세 이상일 때 이 부분이 실행됩니다. -->
        <p>당신은 성인입니다.</p>
    </c:otherwise>
</c:choose>

이렇게 JSTL의 c:choose, c:when, c:otherwise 태그를 사용하면 JSP에서 if-else와 같은 조건문을 작성할 수 있습니다.

다양한 조건에 따른 메시지 출력 예제

아래의 예제는 JSTL의 c:choose, c:when, c:otherwise 태그를 사용하여 사용자의 나이에 따라 다른 메시지를 출력하는 예제입니다.

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<c:choose>
    <c:when test="${user.age < 13}">
        <p>당신은 아직 어린이입니다.</p>
    </c:when>
    <c:when test="${user.age >= 13 && user.age < 20}">
        <p>당신은 청소년입니다.</p>
    </c:when>
    <c:when test="${user.age >= 20 && user.age < 65}">
        <p>당신은 성인입니다.</p>
    </c:when>
    <c:otherwise>
        <p>당신은 노인입니다.</p>
    </c:otherwise>
</c:choose>

이 예제에서는 다음과 같이 동작합니다:

  • 사용자의 나이가 13세 미만이면 "당신은 아직 어린이입니다."라는 메시지를 출력합니다.
  • 사용자의 나이가 13세 이상 20세 미만이면 "당신은 청소년입니다."라는 메시지를 출력합니다.
  • 사용자의 나이가 20세 이상 65세 미만이면 "당신은 성인입니다."라는 메시지를 출력합니다.
  • 위의 모든 조건이 맞지 않을 경우 (즉, 사용자의 나이가 65세 이상일 경우) "당신은 노인입니다."라는 메시지를 출력합니다.

이렇게 JSTL의 c:choose, c:when, c:otherwise 태그를 사용하면 여러 조건을 검사하고, 해당하는 조건에 따라 다른 코드를 실행할 수 있습니다.

LIST