JSTL ( JSP Standard Tag Library )

태그를 사용한 JSP 페이지에서 사용된 일단의 루틴 프로그램 JSP 태그를 라이브러리 형태로 모든 프로그래머가 공통으로 사용하도록 모아 놓은 것이다 이와 대조적으로 프로그래머가 재사용하기 위해 미리 정해 놓고 사용하는 JSP 커스텀 태그도 있다. 일반적으로 사용하는 JSP 태그를 표준화 시킨것. 아래와 같은 것이 많이 사용된다.

CORE  ::  http://java.sun.com/jstl/core   ::  c
XML    ::  http://java.sun.com/jstl/xml    ::  x
I18N     ::  http://java.sun.com/jstl/fmt     :: fmt
SQL     ::  http://java.sun.com/jstl/sql     ::  sql

예) <%@ taglib prefix="c"  uri="http://java.sun.com/jstl/core"  %>

위와같이 JSP 파일에 선언해주면 되는데 하기전에 라이브러리 파일과 tld 파일을 설치해 줘야한다.

- JSTL 설치하기

1. JSTL 다운로드

JSTL 은 아래 두사이트에서 다운로드 할수있다.
  --> 여기서 다운로드를 해봤는데 모든 툴들이 하나로 통합되어 진거 같다.
        JSTL 만 따로 받고싶은 나로선 별로 내키진 않았다.

2) http://apache.org 
  --> 여기서는 jakarta-taglibs-standard-1.1.2.zip 파일을 받으면 된다.


2. 설치
  - WEB-INF/lib 디렉토리에 jstl.jar 와 standard.jar 파일을넣는다.
  - WEB-INF/tld 에다가 tld 폴더를 복사한다.

3. WEB.XML 설정
  --> 처음에 uri="http://java.sun.com/jstl/core" 라고 쓰는걸 보고 sun 에서 해당 url 을 지원해 주는줄 알았으나 그게 아니고 WEB.xml 파일에 아래와같이 설정해 줘야지 쓸수 있는것이다.

             <taglib>
                           <taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
                           <taglib-location>/WEB-INF/tld/c.tld</taglib-location>
             </taglib>
 
             <taglib>
                          <taglib-uri>http://java.sun.com/jstl/xml</taglib-uri>
                          <taglib-location>/WEB-INF/tld/x.tld</taglib-location>
             </taglib>
 
             <taglib>
                           <taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri>
                          <taglib-location>/WEB-INF/tld/fmt.tld</taglib-location>
             </taglib>

4. JSP 선언
  --> 위에서 말한것처럼 JSP 파일에는 아래와같이 선언해주면 된다.
<%@ taglib prefix="c"  uri="http://java.sun.com/jstl/core"  %>



- EL(Expression Language) 내장객체

pageScope
  ::  page 범위에 포함된 속성 값에 접근
requestScope  ::  request 범위에 포함된 속성값에 접근
sessionScope ::  session 범위에 포함된 속성값에 접근
applicationScope  ::  application 범위에 포함된 속성값에 접근
param  ::  request.getParameter("aa")와 동일한 기능. 사용은  $(param.aa)
paramValues  ::  request.getParameterValues의 기능. $(paramValues.aa)
header  ::  request.getHeader('aa") 와 동일.  $(header.aa)
headerValues  ::  request.getHeaderValues("aa")와 동일 $(headerValues.aa)
initParam  ::  컨텍스트의 초기화 파라미터값
cookie  ::  쿠키 정보에 접근


AND