JSTL(Jsp Standard Tag Library)이란?
JSP문서에 view 영역의 코드를 단순화 시키기 위한 태그 라이브러리
표준 액션태그로 처리하기 힘든 부분을 담당(즉 연산, 조건, 반복 등을 편하게 처리)
1. Core 태그
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
실행 흐름의 제어 기능을 제공한다.
prefix인 c를 통해 접근 가능
태그 이름 | 설명 | 속성 |
<c:set></c:set> | JSP에서 사용될 변수 설정 | value, target, property, var, scope |
<c:remove></c:remove> | 설정한 변수를 제거 | var(필수), scope |
<c:out></c:out> | 변수의 출력 | value(필수), escapeXml, default |
<c:catch></c:catch> | 예외 발생시 EL 변수에 저장 | var |
<c:if></c:if> | 조건문(if), else는 존재하지 않는다. | test(필수), var, scope |
<c:choose></c:choose> | 조건문(switch) | |
<c:when></c:when> | 조건문(switch)의 case | test(필수) |
<c:otherwise></c:otherwise> | 조건문(switch)의 default | |
<c:forEach></c:forEach> | 반복문 | var(필수), items(필수), begin, end, step, varStatus |
<c:forTokens></c:forTokens> | 구분자로 분할해서 반복문 | delims(필수), 나머진 forEach와 동일 |
<c:url></c:url> | URL 생성 | value(필수), context, var, scope |
<c:param></c:param> | 파라미터 추가 | name, value |
<c:import></c:import> | 페이지 첨부 | url, var, scope. varReader, context, charEncoding |
<c:redirect></c:redirect> | URL 이동 | url(필수), context |
<!-- 속성값을 이용한 사용예제 -->
<c:forEach var="사용할 변수명" items="Collection 객체(List, Map 등)"
begin="반복시작 index, 기본값은 0" end="반복종료 index"
step="반복할 때마다 건너 뛸 index 갯수" varStatus="반복상태">
</c:forEach>
<c:forTokens var="사용할 변수명" items="Collection 객체(List, Map 등)"
delims="문자열 분리를 위한 특정 기호"
begin="반복시작 index, 기본값은 0" end="반복종료 index"
step="반복할 때마다 건너 뛸 index 갯수" varStatus="반복상태">
</c:forTokens>
<c:url value="url" context="/다음에 오는 로컬 어플리케이션의 이름"
var="처리된 url을 표시할 변수" scope="처리된 url을 노출하는 범위">
</c:url>
<c:param name="파라미터의 이름" value="파라미터의 값"></c:param>
<c:import url="URL값" var="리소스가 저장되는 변수명" scope="var 속성의 범위"
varReader="리소스가 저장될 Reader객체 변수" context="URL에 접근할 때 컨텍스트 이름"
charEncoding="리소스를 가져올때 인코딩 방법"></c:import>
<c:redirect url="사용자 브라우저에서 리다이렉트하는 URL"
context="/다음에 오는 로컬 웹 응용 프로그램의 이름"></c:redirect>
2. Formatting 태그
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
숫자, 날짜, 시간을 지정된 형식으로 formatting한다.
국제화, 다국어 지원 기능
속성 | 타입 | 설명 | 필수여부 | 기본값 |
value | java.util.Date | 표시할 입력값(Date) | 필수 | |
type | String | 시간, 날짜 혹은 둘 다인지 지정 | date | |
dateStyle | String | 미리 정의된 날짜 형식, java.text.DateFormat문법을 따른다. | ||
timeStyle | String | 미리 정의된 시간 형식 | ||
pattern | String | 사용자 지정 형식 스타일 | ||
timeZone | String 또는 java.util.TimeZone | 형식화 시간에 나타날 타임 존 | ||
var | String | 형식 출력 결과 문자열을 담는 scope에 해당하는 변수명 | ||
scope | String | var의 scope |
3. Database
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
DB의 데이터에 관한 CRUD기능
4. XML
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>
XML 문서 처리 기능
5. Function
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
문자열을 제공하는 함수를 쓸 수 있다.
참고: