FE/JSP & JSTL

[JSTL] <c:if> <c:choose> <c:when> <c:otherwise> 사용 방법

멍목 2021. 3. 15. 23:32
반응형

안녕하세요. 프로그래밍을 하면서 조건문과 반복문은 정말 중요한데요.

 

이번 포스팅은 JSTL에서 사용하는 조건문에 대해서 알아보려고 합니다.

 

JSTL에서 사용하는 조건문은 <c:if>, <c:choose> <c:when> <c:otherwise>입니다.

 

아래의 예제 소스를 보면서 알아보겠습니다.

 


1.  JSP 상단에 JSTL 라이브러리 추가하기

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

JSTL을 사용하기 위해선, JSTL라이브러리를 추가해야 합니다.

 

 

 

 

2. <c:if> 사용 방법

JAVA의 if문과 비슷하지만, else 구문은 없습니다.

<c:set var="resultVar" value="Y" />
<!-- resultVar가 Y일 경우 -->
<c:if test="${resultVar eq 'Y'}">
	<!-- resultVar을 <p>태그에 감싸 출력 -->
    <p> <c:out value="${resultVar} /> </p>
</c:if>

* <c:if> 속성 

- test : '조건식' (필수 속성)

- var : 조건 결과를 저장할 변수 지정 

- scope : 조건 결과를 저장할 변수의 저장 scope를 지정 

 

 

 

 

3. <c:choose> <c:when> <c:otherwise> 사용 방법

JAVA의 switch ~ case문으로 볼 수 있습니다.

<c:choose> switch, <c:when>은 case, <c:otherwise>는 default에 해당됩니다.

 
<c:set var="position" value="부장" scope="session"/>
<!-- 조건문 시작 -->
<c:choose>
	  <!-- position이 "사장"일 경우 -->
      <c:when test="${position} == "사장">
      		<p> 사장입니다. </p>
      </c:when> 
      <!-- position이 "부장"일 경우 -->
      <!-- 위의 position 변수가 부장이기에 아래 조건식으로 들어감 -->
      <c:when test="${position} == "부장">
      		<p> 부장입니다. </p>
      </c:when> 
      <!-- position이 "사장" 또는 "부장"이 아닐 경우 -->
      <!-- 위의 when이 아닌 데이터일 경우 아래 조건식으로 들어감 -->
      <c:otherwise>
      		<p> 기타 직위입니다. </p>
      </c:otherwise> 
</c:choose> 
<!-- 조건문 끝 -->

 

* <c:when>

- test : '조건식' (필수 속성)

 

<c:choose> </c:choose>로 조건문의 영역을 설정합니다.

<c:when> </c:when> 으로 조건문을 설정하고 그에 따른 명령문을 설정합니다.

<c:otherwise> </c:otherwise> 로 위의 when에 해당되지 않는 조건들의 명령문을 설정합니다.

 

 

반응형