JSTL Core Tag (c tag)

Posted by 알 수 없는 사용자
2015. 6. 2. 08:55 프로그래밍/JAVA

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

http://bloodygale.tistory.com/82


'프로그래밍 > 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