커스텀 태그 중에서 많이 사용되는 것들을 모아서 JSTL(JSP Standard Tag Library)이라는 규약.
첨부한 예제 파일을 톰캣서버 파일의 webapps폴더밑에 복사하고 톰캣을 재기동시키면 된다.
태그 종류
JSTL을 사용하기 위한 환경 조성
톰캣5.0은 기본적으로 지원하지는 않으며 JSTL API를 제공하는 jar 파일을 별도로 구해야 한다.
(http://jakarta.apache.org/site/sourceindex.cgi)
일단, 다운받게 되면 압축을 풀어서 jstl.jar 파일과 standard.jar 파일을 WEB-INF\lib 폴더에 복사하면 JSTL 1.1을 사용할 수 있게 된다.
JSP에 tablib 추가법
<%@ tablib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ tablib prefix="x" uri="http://java.sun.com/jsp/jstl/xml"%>
<%@ tablib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ tablib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%>
<%@ tablib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
코어 태그
기능 분류 |
태그 |
설명 |
변수 지원 |
set |
jsp에서 사용될 변수를 설정한다. |
remove |
설정한 변수를 제거한다. |
흐름 제어 |
if |
조건에 따라 내부 코드를 수행한다. |
choose |
다중 조건을 처리할 때 사용된다. |
forEach |
콜렉션이나 Map의 각 항목을 처리할 때 사용된다. |
forTokens |
구분자로 분리된 각각의 토큰을 처리할 때 사용된다. |
URL처리 |
import |
URL을 사용하여 다른 자원의 결과를 삽입한다. |
redirect |
지정한 경로로 리다이렉트한다. |
url |
URL을 재작성한다. |
기타 태그 |
catch |
예외 처리에 사용된다. |
out |
JspWrite에 내용을 알맞게 처리한 후 출력한다. |
국제화 태그
기능 분류 |
태 그 |
설 명 |
로케일 지정 |
setLocale |
Locale을 지정한다. |
requestEncoding |
요청 파라미터의 캐릭터 인코딩을 지정한다. |
메시지 처리 |
bundle |
사용할 번들을 지정한다. |
message |
지역에 알맞은 메시지를 출력한다. |
setBundle |
리소스 번들을 읽어와 특정 변수에 저장한다. |
숫자 및 날짜 포맷팅 |
formatNumber |
숫자를 포맷팅한다. |
formatDate |
Date 객체를 포맷팅한다. |
parseDate |
문자열로 표시된 날짜를 분석해서 Date 객체로 변환 |
parseNumber |
문자열로 표시된 날짜를 분석해서 숫자로 변환 |
setTimeZone |
시간대 정보를 특정 변수에 저장한다. |
timeZone |
시간대를 지정한다. |
함수
함 수 |
설 명 |
length(obj) |
obj가 list와 같은 Collection인 경우 저장된 항목의 개수를 리턴하고, obj가 문자열일 경우 문자열의 길이를 리턴한다. |
toUpperCase(obj) |
str을 대문자로 변환한다. |
toLowerCase(obj) |
str을 소문자로 변환한다. |
substring(str, idx1, idx2) |
str.substring(idx1, idx2)의 결과를 리턴한다. idx2가 -1일 경우 str.substring(idx1)과 동일하다. |
substringAfter(str1, str2) |
str1에서 str1에 포함되어 있는 str2이후의 문자열을 구한다. |
substringBefore(str1, str2) |
str1에서 str1에 포함되어 있는 str2이전의 문자열을 구한다. |
trim(str) |
str 좌우의 공백 문자를 제거한다. |
replace(str, src, dest) |
str에 있는 src를 dest로 변환한다. |
indexOf(str1, str2) |
str1에서 str2가 위치한 인덱스를 구한다. |
startsWith(str1, str2) |
str1이 str2로 시작되는 경우 true를 그렇지 않은 경우 false를 리턴한다. |
endsWith(str1, str2) |
str1이 str2로 끝나는 경우 true를 그렇지 않은 경우 false를 리턴한다. |
contains(str1, str2) |
str1이 str2를 포함하고 있는 경우 true를 리턴한다. |
containsIgnoreCase(str1, str2) |
대소문자 구분이 없이 str1이 str2를 포함하고 있을 경우 true를 리턴한다. |
split(str1, str2) |
Str2로 명시한 글자를 기준으로 str1을 분리해서 배열로 리턴한다. |
join(array, str2) |
Array에 저장된 문자열을 합친다. 이때 각 문자열 사이에는 str2이 붙는다. |
escapeXml(str) |
XML의 객체 참조에 해당하는 특수 문자를 처리한다. 예를 들어 ‘&’는 ‘&’로 변환한다. |
|