Information Security

JSTL(JSP Standard Tag Library) 본문

JSP Web Programming

JSTL(JSP Standard Tag Library)

leeeeye321 2017. 6. 18. 03:14

JSTL(JSP Standard Tag Library) : 표준 태그 라이브러리

-JSP 페이지를 작성할 때 유용하게 사용할 수 있는 여러 가지 커스텀 액션과 함수가 포함되어 있는 라이브러리이다. 

라이브러리 : 여러 프로그램이 공통으로 사용하는 코드를 모아놓은 코드의 집합

-JSTL을 사용하면 스크립트릿 코드(<% %>)의 사용을 줄여 간결하고 이해가 쉬운 JSP 코드를 작성할 수 있다.

 

라이브러리 

주요 기능

접두어

관련 URI 

코어

변수 지원, 흐름 제어, URL 처리

c

http://java.sun.com/jsp/jstl/core

XML

XML 문서 처리 시 필요 기능 제공

x

http://java.sun.com/jsp/jstl/xml

국제화

국제화, 다국어 지원, 숫자 및 날짜 형식

fmt

http://java.sun.com/jsp/jstl/fmt

데이터베이스

SQL

sql

http://java.sun.com/jsp/jstl/sql

함수

문자열 처리하는 함수 제공

fn

http://java.sun.com/jsp/jstl/functions

-JSTL이 제공하는 5가지 종류의 태그이다.

-접두어는 JSP 페이지가 커스텀 태그를 호출할 때 사용한다.

-관련 URI는 JSTL이 제공하는 커스텀 태그를 구분해주는 식별자이다. 이 식별자를 이용하여 커스텀 태그 라이브러리를 선택할 수 있다.

 

-위의 태그 라이브러리를 사용하려면 JSP 페이지에 taglib 디렉티브를 추가해야 한다.

-prefix와 uri 애트리뷰트에 각각 접두어와 URI 식별자를 값으로 주어야 한다.

 

-http://search.maven.org/에서 jstl을 검색하고 1.2 버전의 jar 파일을 다운로드 받는다.

-다운로드 받은 파일을 WEB-INF/lib 디렉터리에 복사하면 JSP 페이지에서 JSTL 라이브러리를 사용할 수 있게 된다.

 

코어 태그

1. 변수 지원 태그

-JSTL이 지원하는 태그에서 사용 가능한 변수를 설정하기 위해 사용

 

<c:set> 태그 : EL 변수 선언

 

 

 실행

 

<c:remove> 태그 : set 태그로 지정한 변수 삭제

 

2. 흐름 제어 태그

 

<c:if> 태그

-조건이 참이면 몸체 안의 내용이 실행되고, 거짓이면 실행되지 않는다.

 

-empty : 데이터의 존재 여부를 확인하는 단항 연산자

 

 

<c:choose> 태그 : 자바의 switch 문,

<c:when> 태그 : switch 문의 case 절,

<c:otherwise> 태그 : switch 문의 default 절과 비슷한 역할을 한다.

 

<c:forEach> 태그 : 자바의 for 문에 해당하는 기능 제공

-var : 몸체에서 사용할 EL 변수명

-begin : 시작 인덱스 값

-end : 끝 인덱스 값 

-step: 인덱스 증분 값

 

 실행

 

-itemsMap, 배열 Collection이 올 수 있다.

-varStatus : 루프 정보를 담는 객체를 저장할 변수명을 값으로 갖는다.

index : 루프 실행에서 현재 인덱스

count : 루프 실행 횟수

 

 실행

 

3. URL 처리 태그

<c:import> 태그 : URL을 사용하여 다른 자원의 결과를 삽입

<c:redirect> 태그 : 지정한 경로로 redirect

<c:url> 태그 : URL 재작성

 

4. 기타 태그

 

<c:catch> 태그 : 자바의 try 문과 비슷한 기능을 한다.

-try 블록에 해당하는 일만 하기 때문에 catch 블록에 해당하는 일은 별도로 코딩한다.

-e : 익셉션 객체가 저장되는 변수

-${e.message} : 익셉션 객체 e에 대해 getMessage 메서드 호출

 

 실행

 

<c:out> 태그 : 데이터 출력시 사용

-value : 출력할 값

-escapeXml : 특수 문자를 변환할 지 여부

-true일 경우 변환되는 문자

 

 실행

 

국제화 태그

<fmt:formatDate> 태그 : Date 객체 포맷팅

 

-출력할 날짜와 시각을 넘겨줘야 하므로 Date 객체를 생성한다.

-value : 포맷팅할 시간 값 지정

-dateStyle : 날짜 포맷팅 스타일 지정 (default, short, medium, long, full) 기본값: default

-timeStyle : 시간 포맷팅 스타일 지정 (default, short, medium, long, full) 기본값: default

-type : 무엇을 포맷팅할지 지정 (time, date, both) 기본값: date

 

 실행

 

<fmt: formatNumber> 태그 : 숫자 포맷팅

-value : 포맷팅할 숫자 지정

-groupingUsed : 단위 구분 기호(,) 사용 여부 결정

-pattern : 숫자가 출력되는 양식 지정 

-type : 어떤 양식으로 출력할지 지정(number: 숫자, percent: %, currency: 통화 형식) 기본값: number

 

실행

 

<fmt:setLocale> : 출력할 데이터의 포맷을 특정 지역에 맞게 설정할 때 사용

-value : 언어코드_국가코드 형식

 

 실행

 

<fmt:timeZone> : 시간대 지정

-value : 특정 지역 이름 지정

실행

 

★세계시각 출력하기

 

 

 실행

 

 <fmt:setBundle> : 리소스 번들을 읽어와 특정 변수에 저장

-basename : 읽어올 리소스 번들의 이름

 

<fmt:message> : 지역에 알맞은 메시지 출력

-key : 읽어올 메시지의 키 값

-이 태그들을 사용하면 여러 언어로 기술된 웹 페이지를 생성할 수 있다.

 

-먼저 웹 페이지마다 다른 언어로 기술되어야 할 부분을 추출하여 파일로 만들어야 한다.

-[Help] -> [Eclipse Marketplace] -> Find : [properties editor] 검색

-[Install] 클릭 : Properties Editor가 설치됨

 

-리소스 번들 파일의 형태 : 번들이름_언어코드.properties

 

 

 

'JSP Web Programming' 카테고리의 다른 글

EL(Expression Language)  (0) 2017.06.14
Login test  (0) 2017.05.25
Form check  (0) 2017.05.24
Bean 사용하기  (0) 2017.05.22
Area test  (0) 2017.05.16