JSP

[JSP] 5. JSTL

myeongju 2024. 7. 27. 21:17
반응형

JSTL이란 ?

  • Java 코드를 바로 사용하지 않고 HTML 태그(<>) 형태로 직관적인 코딩을 지원하는 라이브러리
  • Java EE 기반의 웹 애플리케이션 개발 플랫폼을 위한 컴포넌트 모음
  • XML 데이터 처리와 조건문, 반복문, 국제화와 지역화와 같은 일을 처리하기 위한 JSP 태그 라이브러리
  • 자신만의 태그를 추가할 수 있는 기능을 제공
  •  

JSTL 확장 태그 종류

 

변수 선언

기본적으로 page Scope에 저장

<c:set var="변수명" value="값" />
<c:set var="변수명" value="값" scope="page" />

 

변수 제거

Scope을 지정하지 않으면 모든 영역에서 속성이 제거

<c:remove var="변수명" />
<c:remove var="변수명" scope="page" />

 

변수 출력

EL과 함께 사용하여 변수를 지정

만약, 태그를 포함해서 출력할 경우escapeXml="true" 설정

<c:out value="값" />
<c:out value="${변수명}" />
<c:out value="${변수명}" default="출력 값"/>

 

조건문

if

<c:if test="${변수명 eq 'Y'}">
    <h3>
        <c:out value="${변수명}" /> 의 값은 Y 입니다.
    </h3>
</c:if>

if-else

<c:choose>
    <c:when test="${변수명 eq 'N'}">
        변수가 'N'일 때 해당되는 블록
    </c:when>
    <c:otherwise>
        변수가 'N'이 아닌 경우 해당되는 블록
    </c:otherwise>
</c:choose>

 

반복문 (for)

  • 배열 및 Collection, Iterator, Enumeration, Map의 구현체가 올 수 있다.
  • items 옵션에 목록 데이터를 정의하고, var 옵션에는 반복문을 돌면서 items에서 꺼낸 항목 값을 사용할 수 있다.
<c:forEach var="변수명" items="목록 데이터" begin="시작 인덱스" end="종료 인덱스">
    ${변수명}
</c:forEach>

 

페이지 이동 (redirect)

내부적으로 HttpServletResponse의 sendRedirect()를 호출

<c:redirect url="이동할 URL">
<c:param name="파라미터명" value="값" />
</c:redirect>

 

URL 생성

<c:url var="변수명" value="요청 URL">
    <c:param name="파라미터명" value="값" />
</c:url>

 

반응형