6.1 JSTL(JSP Tag Library) 개요

작성자 : 진은영 ( 2004-07-28)

목차

6.1.1 JSTL이란

① JSTL이란
JavaServer Pages (JSP)는 J2EE 플랫폼을 위한 표준 표현 레이어(presentation-layer) 이다. JSP는 페이지 콘텐트를 동적으로 생성할 수 있는 스크립팅 엘리먼트와 액션을 제공한다. 스크립팅 엘리먼트는 프로그램 소스 코드가 JSP 코드에 포함될 수 있도록 한다.

< %
   out.println( "연습입니다." ) ;
% >

액션(actions)은 전산 작동을 JSP 페이지의 템플릿 텍스트를 구성하고 있는 HTML 이나 XML과 거의 흡사하게하는 태그로 인캡슐한다. JSP 스팩에 표준으로 정의된 몇 가지의 액션들이 있다.
< jsp:useBean id="h" class="kr.co.a.HelloBean" />

하지만 JSP 1.1 부터 개발자들은 커스텀 태그 라이브러리 형태로 자신만의 액션들을 만들 수 있다.

JSP Standard Tag Library (JSTL)는 JSP 1.2 커스텀 태그 라이브러리 모음으로서 커스텀 태그 중에서 자주 사용되는 것을 모아서 표준으로 정한 것이다.

② JSTL과 일반 스크립트릿의 비교
물론, 스크립틀릿, 익스프레션, 선언 같은 JSP 스크립팅 엘리먼트를 사용하는 태스크를 구현할 수 있다. 그러나 페이지 내에 프로그램 소스 코드를 직접 장성하게 되면 소프트웨어 관리 태스크를 매우 복잡하게 하는 경향이 있다.

< %if ( a == 0 ){ % >
< %= a % >
< %} %>

위와 같이 복잡해 보이는 코드를 아래와 같이 줄일 수 있다.
< c:if test="${a==0}">
  < c:out value="${c}">
< /c:if>

JSTL은 일반적인 기능을 커스텀 태그 라이브러리의 표준 세트로 패키징했기 때문에 JSP 작성자들이 스크립팅 엘리먼트에 대한 필요를 줄이고 관련된 관리 비용을 피할 수 있도록 한다.


6.1.2 JSTL 설치

① JSTL 파일 다운로드
서블릿 컨테이너인 Tomcat의 버전이 4.x인 경우에는 아래의 장소에서 파일을 받아야 한다.
위치 : http://cvs.apache.org/builds/jakarta-taglibs/nightly/projects/standard-1.0/
파일 : jakarta-taglibs-standard-1.0-20040720.zip

② 압푹풀기
압축받은 파일을 워하는 위치에 푼다.

③ 복사
웹 애플리케이션을 하나 생성한다. 컨텍스트의 구조는 아래와 같다.

컨텍스트의 설정을 Tomcat의 server.xml 에 추가하는 것을 잊으면 안된다.
< Context path="/jstltest" docBase="E:/03.src/jslt" debug="0" reloadable="true" crossContext="true" />

압축받아 풀어놓은 폴더에서 아래의 jar 파일들을 복사해 현 컨텍스트에 가져다 놓는다.


이번에는 tld파일을 복사할 차례이다.



6.1.3 환경설정

필요한 파일들을 원하는 위치에 복사한 후 web.xml 파일에 지정만 하면 설정은 끝난다. web.xml은 해당 컨텍스트의 WEB-INF 폴더아래 있다.
< ?xml version="1.0" encoding="ISO-8859-1"?>
< !DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">

< web-app>
 < taglib>
    < taglib-uri>jstl/core< /taglib-uri>
    < taglib-location>/WEB-INF/tld/c.tld< /taglib-location>
  < /taglib>
  < taglib>
    < taglib-uri>jstl/xml< /taglib-uri>
    < taglib-location>/WEB-INF/tld/x.tld< /taglib-location>
  < /taglib>
  < taglib>
    < taglib-uri>jstl/fmt< /taglib-uri>
    < taglib-location>/WEB-INF/tld/fmt.tld< /taglib-location>
  < /taglib>
  < taglib>
    < taglib-uri>jstl/sql< /taglib-uri>
    < taglib-location>/WEB-INF/tld/sql.tld< /taglib-location>
  < /taglib>  
< /web-app>


톰캣 데몬을 띄우고 브라우저를 띄운후 주소를 아래와 같이 입력한다.
참고문헌