JSTL Core Tag (c tag)
JSTL Core Tag (c tag)
: JSTL에는 코어, 포맷팅, 함수, 데이터베이스, XML처리와 같이 다섯개의 라이브러리를 지원하지만 이 글에서는 가장 많이 사용하는 태그인 "코어" 태그 부분에 대하여 설명한다.
■ JSTL (JSP Standard Tag Library) 이란?
- http://tomcat.apache.org/taglibs/
- JSP에서 사용되는 반복, 조건, 데이터관리, 데이터베이스 액세스, 시간, 숫자, 날짜, 문자열 가공등을 사용할 수 있는 표준라이브러리이다.
- JSTL은 EL(Expression Language)를 사용하여 표현한다.
■ JSTL 설정 (스프링에서의 설정 : pom.xml)
■ JSTL 사용 (JSP파일에서의 사용 선언)
■ JSTL Core Tag의 종류
태그이름 |
설명 |
<c:set /> |
변수의 선언 및 제거 |
<c:remove /> |
|
<c:out /> |
변수의 출력 |
<c:catch /> | 예외 처리 |
<c:if /> |
조건문 (else는 없다) |
<c:choose /> |
Switch문과 비슷 |
<c:when /> |
|
<c:otherwise /> |
|
<c:forEach /> |
반복문 |
<c:forTokens /> |
구분자로 분할하여 반복문 |
<c:url /> | URL 생성 |
<c:param /> | 파라미터 추가 |
<c:import /> | 페이지 첨부 |
<c:redirect /> | URL 이동 |
■ 각 Core Tag 설명
1. <c:set /> Tag
- JSP의 setAttribute()와 같은 역할
- <c:set var="변수명"
value="변수에 넣을 값"
property="자바빈 객체 or Map 객체 값을 설정할 프로퍼티 명"
scope="변수 공유 범위" />
2. <c:remove /> Tag
- JSP의 removeAttribute()와 같은 역할
- <c:remove var="변수명"
scope="변수 공유 범위" />
3. <c:out /> Tag
- '<%=...>'와 같다. JSP의 표현식을 대체
- <c:out var="변수명"
default="기본값"
escapeXML="true|false" />
4. <c:catch /> Tag
- Body에서 실행되는 코드의 예외 처리
- <c:catch var="에러메시지가 포함될 변수명" />
5. <c:if /> Tag
- 조건문
- <c:if test="조건 판별식"
var="변수명"
scope="변수 공유 범위" />
6. <c:choose />, <c:when />, <c:otherwise />
- Switch문과 동일, 여러개의 when 태그와 하나의 otherwise 태그를 가진다
- <c:if /> 태그에 else가 없으므로 대체식으로도 많이 사용
- <c:choose>
<c:when test="조건 판별식"> .... </c:when>
<c:when test="조건 판별식"> .... </c:when>
<c:when test="조건 판별식"> .... </c:when>
</c:choose>
7. <c:forEach /> Tag
- 객체 전체에 걸쳐 반복 실행에 사용
- <c:forEach var="현재 아이템의 변수명"
items="반복 데이터가 있는 아이템 Collection 명"
begin="시작 값, 기본값은 0"
end="종료 값"
step="증가 값"
varStatus="반복 상태 값을 지닌 변수" />
※ varStatus는 forEach의 상태를 알 수 있는 값이 들어 있다.
- $(변수.current} : 현재의 인덱스
- $(변수.index} : 0부터의 인덱스
- $(변수.count} : 1부터의 인덱스
- $(변수.first} : 현재 루프가 처음인지 확인
- $(변수.last} : 현재 루프가 마지막인지 확인
- $(변수.begin} : forEach문의 시작 값
- $(변수.end} : forEach문의 끝 값
- $(변수.step} : forEach문의 증가 값
8. <c:forTokens /> Tag
- 문자열을 구분자(delimiter)로 분할
- <c:forTokens var="현재 아이템의 변수 명"
items="반복 데이터가 있는 아이템 Collection 명"
delims="구분자, 여러개 지정 가능"
begin="시작 값, 기본 값은 0"
end="종료 값"
step="증가 값"
varStatus="반복 상태 값을 지닌 변수" />
9. <c:url /> Tag
- URL의 생성
- <c:url var="생성한 URL이 저장될 변수 명"
value="생성할 URL"
scope="변수 공유 범위" />
10. <c:param /> Tag
- 파라미터 추가
- <c:param name="파라미터 명" value="값" />
11. <c:import /> Tag
- 페이지 첨부
- import 태그 내에 param 태그도 사용할 수 있다.
- <c:import url="첨부할 URL" />
12. <c:redirect /> Tag
- sendRedirect()와 동일
- <c:redirect url="이동할 URL" />
※ 출처
http://wiki.gurubee.net/pages/viewpage.action?pageId=26740270
'프로그래밍 > JAVA' 카테고리의 다른 글
Java의 Collections (List, Set, Map) 이해 (320) | 2015.04.10 |
---|---|
Java의 Garbage Collection (315) | 2015.03.27 |
Java의 String, StringBuffer, StringBuilder 설명 (277) | 2015.03.24 |
JAVA 첫번째 (3) | 2015.03.17 |