반응형
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>
반응형