JSTL(JSP Standard Tag Library)

JSTL(JSP Standard Tag Library)

- Action tag를 SUN사 이외의 단체, 회사, 개인이 만들어 사용하는 것이다.

- Apache에서 제작, 배포한다.

- core, fmt, xml, sal이 있다.

core : 제어구조, 변수, 예외처리, import, redirect 사용

fmt : 원하는 형태를 볼 때 사용

- EL을 사용 할 수 있다. 그러나 모든 버전에서 사용 할 수 있는 것은 아니다.

 

사용법

- 지시자

선언

<%@ taglib prefix="" uri="사용할 JSTL의 종류 URL"%>

사용

< prefix 값: >

- core

선언

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

[참고] prefix 값은 꼭 c만 사용해야 하는 것은 아니다. 다만 core일 경우 많이 쓰이는 것이 c일 뿐이다.

사용

<c:>

- fmt

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/fmt"%>

 

Core 자세히

- 변수

생성

<c:set var="변수명" value="값"/>

삭제

<c:remove var="변수명"/>

출력

<c:out value="값"/>

[참고] 값을 그대로 출력하기 때문에 value="변수명"을 집어넣어도 변수명이 그대로 출력된다. 변수가 저장하고 있는 값을 출력하기 위해서는 EL을 사용해야한다.

- 제어문

if : 단일 if문만 사용 가능하다.

<c:if test="조건">

조건에 맞을 때 수행 할 문장

</c:if>

choose : 여러개의 조건

<c:choose>

<c:when test="조건">

조건에 맞을 때 수행 할 문장

</c:when>

<c:when test="조건">

조건에 맞을 때 수행 할 문장

</c:when>

<c:otherwise test="조건">

조건에 맞을 때 수행 할 문장

</c:otherwise>

</c:choose>

- 반복문

for

1. 인덱스를 사용할 때

<c:forEach var="변수명" start="시작값" end="끝 값" step="증가값">

반복 수행 코드. 변수가 저장하고 있는 값은 EL을 사용해 표현한다. ${변수명}

</c:forEach>

2. Collection, 배열의 값을 출력할 때 사용한다.

<c:forEach var="변수명" items="${배열명}">

Collection, 배열에 모든 방의 값을 출력 변수가 저장하고 있는 값은 EL을 사용해 표현한다. ${변수명}

</c:forEach>

3. 문자열내의 특정문자를 기준으로 출력할 때

- StringTokenizer와 for문이 결합된 형태

<c:forTokens var="변수명" items="문자열 변수" delims="기준 문자">

잘린 값. 변수가 저장하고 있는 값은 EL을 사용해 표현한다. ${변수명}

</c:forTokens>

- redirect : 페이지 이동할 때 사용한다.

<c:redirect url="이동할 페이지의 url"/>

- import : 다른 jsp를 끼워 넣을 때

<c:import url="끼워 넣을 jsp"/>

- 예외처리

<c:catch var="변수명(예외 클래스)">

예외 발생 예상 코드

</c:catch>

<c:if test="${변수명 ne null}">

예외 발생시 서비스할 코드

</c:if>

 

fmt 자세히

- 정해진 형식으로 출력한다.

- 지시자

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>

- 날짜

<fmt:formatDate var="변수명" pattern="출력형식"/>

이때 변수명에는 Data객체가 오며 출력형식은 java.text 패키지 Class SimpleDateFormat에서 Date and Time Patterns참고

- 숫자

<fmt:formatNumber var="변수명" pattern="출력형식"/>

 

OGNL(Object Graphic Navigation Language)

- tag를 작성하면 그에 해당하는 코드로 변경하여 실행하는 언어이다.

 

라이브러리 다운

1. http://tomcat.apache.org/taglibs/standard/

2. Standard 1.1 JSTL 1.1 Servlet 2.4, JavaServer Pages 2.0 download 클릭

3. binaries/폴더 클릭

4. jakarta-taglibs-standard-1.1.2.zip 2004-10-25 20:57 933K 다운로드

5. 압축 해제

 

이클립스 프로젝트에 라이브러리(*.jar) 삽입

1. jakarta-taglibs-standard-1.1.2\jakarta-taglibs-standard-1.1.2\lib안에서 jstl.jar와 standard.jar 복사

2. 웹 프로젝트 - WebContent - WEB-INF - lib에 붙여넣기(이클립스 사용시 붙여넣기만 해도 자동으로 빌드 패스를 잡아준다.)