일반적인 웹 어플리케이션 기능(반복과 조건, 데이타 관리 포맷, XML 조작, 데이타베이스 액세스)을 구현하는 커스텀 태그 라이브러리 모음.
JSP2.0 스팩에 포함 (Tomcat 5.0(정식 버전)에 구현)
application, session, request, response, pageContext 등의 내장객체에 쉽게 접근.
파라메터, 헤더, 쿠기 등을 복잡한 코드를 사용하지 않고 직관적으로 사용.
기본적인 연산이나 객체 비교 등을 쉽게 구현, 조건, 반복, 이동에 대한 태그 지원
기본기능(core), 형식화(format), xml 처리(xml), sql 처리(sql)
| 기능 | prefix | 기본URL |
|---|---|---|
| 기본기능 | c | http://java.sun.com/jstl/core |
| XML 처리 | x | http://java.sun.com/jstl/xml |
| i18n & 형식화 | fmt | http://java.sun.com/jstl/fmt |
| 데이터베이스 작업 | sql | http://java.sun.com/jstl/sql |
tomcat5.0(정식버전)을 다운로드 하여 설치
${}으로 내장객체 접근 가능하며, 산술연산과 비교연산 가능
dot(.)과 bracket([]) 모두를 이용하여 객체 내부의 자원에 접근 가능
| pageScope | page scope 의 변수들 |
| requestScope | request scope 의 변수들 |
| sessionScope | session scope 의 변수들 |
| applicationScope | application scope 의 변수들 |
| param | parameter 변수들 문자열 |
| paramValues | parameter 변수들 문자열 배열 |
| header | HTTP request 헤더 |
| headerValues | HTTP request 헤더 문자열 배열 |
| initParam | 컨텍스트 초기 변수 web.xml 에서 지정 |
| cookie | 쿠키 변수들 |
| pageContext | 현재 페이지의 pageContext 객체 |
| 연산자 구분 | 연산자 |
|---|---|
| 관계 | < (lt) > (gt) <= (le) >= (ge) == (eq) != (ne) |
| 산술 | + - * / (div) % (mod) |
| 논리 | && (and) ㅣㅣ (or) ! (not) |
| Empty | empty |
<% response.setContentType("text/html;"); %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<c:if test="${!empty hit}">
<c:set var="hit" value="${hit+1}" scope="session"/>
<c:out value="${hit}"/> 번 리로드되었습니다.
</c:if>
<c:if test="${empty hit}">
<c:set var="hit" value="1" scope="session"/>
세션에 값을 저장했습니다.
</c:if>
<br>
<a href="jstlel03.jsp">reload</a>
null인지 판단하여 세션값이 없으면, 값을 지정하고 있으면 하나를 더한 후에 출력하는 코드