JSTL(JSP Standard Tag Library)은 JSP 애플리케이션의 공통 핵심 기능을 캡슐화하는 JSP 태그 모음입니다.
JSTL은 반복, 조건부 판단, XML 문서 작업, 국제화 태그 및 SQL 태그와 같은 일반적이고 구조화된 작업을 지원합니다. 이 외에도 JSTL과 통합된 사용자 정의 태그를 사용하기 위한 프레임워크도 제공합니다.
JSTL 태그가 제공하는 기능에 따라 5가지 카테고리로 나눌 수 있습니다.
핵심 태그
태그 서식 지정
SQL 태그
XML 태그
JSTL 함수
Apache Tomcat에 JSTL 라이브러리를 설치하는 단계는 다음과 같습니다.
Apache의 표준 태그 라이브러리에서 다운로드한 바이너리 패키지(jakarta-taglibs-standard-current.zip). 다운로드 주소: http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/
jakarta-taglibs-standard-1.1.1.zip 패키지를 다운로드하고 압축을 푼 후 jakarta-taglibs-standard-1.1.1/lib/ 아래에 있는 두 개의 jar 파일인 Standard.jar 및 jstl.jar 파일을 /WEB-에 복사합니다. INF /lib/under.
다음으로 web.xml 파일에 다음 구성을 추가합니다.
…
<
jsp
-
구성
>
<태그립>
<
태그립
-
우리
>
http
:
//java.sun.com/jstl/fmt</taglib-uri>
<
태그립
-
위치
>
/WEB-INF/
fmt
.
텔드
</
태그립
-
위치
>
</
태그립
>
<태그립>
<
태그립
-
우리
>
http
:
//java.sun.com/jstl/fmt-rt</taglib-uri>
<
태그립
-
위치
>
/WEB-INF/
fmt
-
RT
.
텔드
</
태그립
-
위치
>
</
태그립
>
<태그립>
<
태그립
-
우리
>
http
:
//java.sun.com/jstl/core</taglib-uri>
<
태그립
-
위치
>
/WEB-INF/
기음
.
텔드
</
태그립
-
위치
>
</
태그립
>
<태그립>
<
태그립
-
우리
>
http
:
//java.sun.com/jstl/core-rt</taglib-uri>
<
태그립
-
위치
>
/WEB-INF/
기음
-
RT
.
텔드
</
태그립
-
위치
>
</
태그립
>
<태그립>
<
태그립
-
우리
>
http
:
//java.sun.com/jstl/sql</taglib-uri>
<
태그립
-
위치
>
/WEB-INF/
SQL
.
텔드
</
태그립
-
위치
>
</
태그립
>
<태그립>
<
태그립
-
우리
>
http
:
//java.sun.com/jstl/sql-rt</taglib-uri>
<
태그립
-
위치
>
/WEB-INF/
SQL
-
RT
.
텔드
</
태그립
-
위치
>
</
태그립
>
<태그립>
<
태그립
-
우리
>
http
:
//java.sun.com/jstl/x</taglib-uri>
<
태그립
-
위치
>
/WEB-INF/
엑스
.
텔드
</
태그립
-
위치
>
</
태그립
>
<태그립>
<
태그립
-
우리
>
http
:
//java.sun.com/jstl/x-rt</taglib-uri>
<
태그립
-
위치
>
/WEB-INF/
엑스
-
RT
.
텔드
</
태그립
-
위치
>
</
태그립
>
</
jsp
-
구성
>
…
라이브러리를 사용하려면 모든 JSP 파일의 헤더에 <taglib> 태그를 포함해야 합니다.
핵심 태그는 가장 일반적으로 사용되는 JSTL 태그입니다. 핵심 태그 라이브러리를 참조하는 구문은 다음과 같습니다.
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
상표 | 설명하다 |
---|---|
<c:아웃> | <%= ... >와 같이 JSP에서 데이터를 표시하는 데 사용됩니다. |
<c:설정> | 데이터를 저장하는 데 사용 |
<c:제거> | 데이터 삭제를 위해 |
<c:잡기> | 오류를 발생시키는 예외를 처리하고 오류 정보를 저장하는 데 사용됩니다. |
<c:if> | 일반 프로그램에서 사용하는 것과 동일합니다. |
<c:선택> | <c:when> 및 <c:otherwise>의 상위 태그로만 사용됩니다. |
<c:언제> | <c:choose>의 하위 태그는 조건이 true인지 확인하는 데 사용됩니다. |
<c:그렇지 않으면> | <c:choose>의 하위 태그는 <c:when> 태그 뒤에 연결되며, <c:when> 태그가 false로 판단되면 실행됩니다. |
<c:가져오기> | 절대 또는 상대 URL을 검색하고 해당 내용을 페이지에 노출합니다. |
<c:각각> | 여러 컬렉션 유형을 허용하는 기본 반복 태그 |
<c:토큰용> | 지정된 구분 기호를 기준으로 콘텐츠를 분리하고 출력을 반복합니다. |
<c:매개변수> | 포함되거나 리디렉션된 페이지에 매개변수를 전달하는 데 사용됩니다. |
<c:리디렉션> | 새 URL로 리디렉션합니다. |
<c:URL> | 선택적 쿼리 매개변수를 사용하여 URL 만들기 |
JSTL 형식 태그는 텍스트, 날짜, 시간 및 숫자의 형식을 지정하고 출력하는 데 사용됩니다. 서식 지정 태그 라이브러리를 참조하는 구문은 다음과 같습니다.
<%@
taglib 접두사
=
"fmt"
우리
=
"http://java.sun.com/jsp/jstl/fmt"
%>
상표 | 설명하다 |
---|---|
<fmt:형식번호> | 지정된 형식이나 정밀도를 사용하여 숫자 형식 지정 |
<fmt:구문분석번호> | 숫자, 통화 또는 백분율을 나타내는 문자열을 구문 분석합니다. |
<fmt:형식날짜> | 지정된 스타일이나 패턴을 사용하여 날짜 및 시간 형식 지정 |
<fmt:parseDate> | 날짜 또는 시간을 나타내는 문자열 구문 분석 |
<fmt:번들> | 리소스 바인딩 |
<fmt:setLocale> | 지정지역 |
<fmt:세트번들> | 리소스 바인딩 |
<fmt:시간대> | 시간대 지정 |
<fmt:setTimeZone> | 시간대 지정 |
<fmt:메시지> | 리소스 프로필 정보 표시 |
<fmt:요청인코딩> | 요청의 문자 인코딩 설정 |
JSTL SQL 태그 라이브러리는 관계형 데이터베이스(Oracle, MySQL, SQL Server 등)와 상호 작용하기 위한 태그를 제공합니다. SQL 태그 라이브러리를 참조하는 구문은 다음과 같습니다.
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
상표 | 설명하다 |
---|---|
<sql:세트데이터소스> | 데이터 소스 지정 |
<SQL:쿼리> | SQL 쿼리문 실행 |
<SQL:업데이트> | SQL 업데이트 문 실행 |
<SQL:매개변수> | SQL 문의 매개변수를 지정된 값으로 설정합니다. |
<sql:dateParam> | SQL 문의 날짜 매개변수를 지정된 java.util.Date 객체 값으로 설정합니다. |
<SQL:트랜잭션> | 모든 문을 트랜잭션으로 실행하려면 공유 데이터베이스 연결에 중첩된 데이터베이스 동작 요소를 제공하세요. |
JSTL XML 태그 라이브러리는 XML 문서를 생성하고 조작하기 위한 태그를 제공합니다. XML 태그 라이브러리를 참조하는 구문은 다음과 같습니다.
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
xml 태그를 사용하기 전에 XML 및 XPath 관련 패키지를 <Tomcat 설치 디렉터리>lib에 복사해야 합니다.
XercesImpl.jar:
다운로드 주소: http://www.apache.org/dist/xerces/j/
xalan.jar:
다운로드 주소: http://xml.apache.org/xalan-j/index.html
상표 | 설명하다 |
---|---|
<x:아웃> | <%= ... >와 유사하지만 XPath 표현식에만 사용됩니다. |
<x:파싱> | XML 데이터 구문 분석 |
<x:세트> | XPath 표현식 설정 |
<x:if> | XPath 표현이 true이면 온톨로지의 콘텐츠를 실행하고, 그렇지 않으면 온톨로지를 건너뜁니다. |
<x:각각> | XML 문서의 노드 반복 |
<x:선택> | <x:when> 및 <x:otherwise>의 상위 태그 |
<x:언제> | 조건부 판단에는 <x:choose> 하위 태그가 사용됩니다. |
<x:그렇지 않으면> | <x:when>이 거짓이라고 판단되면 <x:choose>의 하위 태그가 실행됩니다. |
<x:변환> | XML 문서에 XSL 변환 적용 |
<x:매개변수> | XSL 스타일 시트를 설정하기 위해 <x:transform>과 함께 사용됩니다. |
JSTL에는 일련의 표준 함수가 포함되어 있으며 그 중 대부분은 범용 문자열 처리 함수입니다. JSTL 함수 라이브러리를 참조하는 구문은 다음과 같습니다.
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
기능 | 설명하다 |
---|---|
fn:포함() | 입력 문자열에 지정된 하위 문자열이 포함되어 있는지 테스트합니다. |
fn:IgnoreCase() 포함 | 입력 문자열에 대소문자를 구분하지 않고 지정된 하위 문자열이 포함되어 있는지 테스트합니다. |
fn:끝() | 입력 문자열이 지정된 접미사로 끝나는지 테스트합니다. |
fn:escapeXml() | XML 태그로 사용할 수 있는 문자 건너뛰기 |
fn:indexOf() | 입력 문자열에서 지정된 문자열이 나타나는 위치를 반환합니다. |
fn:결합() | 배열의 요소를 문자열로 결합하여 출력합니다. |
fn:길이() | 문자열 길이를 반환합니다. |
fn:교체() | 입력 문자열의 지정된 위치를 지정된 문자열로 바꾸고 반환합니다. |
fn:분할() | 지정된 구분 기호로 문자열을 구분한 다음 하위 문자열 배열을 구성하고 반환합니다. |
fn:startsWith() | 입력 문자열이 지정된 접두사로 시작하는지 테스트합니다. |
fn:하위 문자열() | 문자열의 하위 집합을 반환합니다. |
fn:하위 문자열이후() | 지정된 하위 문자열 뒤의 문자열 하위 집합을 반환합니다. |
fn:하위 문자열앞() | 지정된 하위 문자열 앞의 문자열 하위 집합을 반환합니다. |
fn:toLowerCase() | 문자열의 문자를 소문자로 변환 |
fn:to대문자() | 문자열의 문자를 대문자로 변환 |
fn:트림() | 선행 공백 문자 제거 |