JSP-표준 태그 라이브러리 (JSTL) 튜토리얼
이 장에서는 JSP의 다양한 태그를 이해합니다. JSTL (JavaServer Pages Standard Tag Library)은 많은 JSP 애플리케이션에 공통적 인 핵심 기능을 캡슐화하는 유용한 JSP 태그 모음입니다.
JSTL은 반복 및 조건부, XML 문서 조작을위한 태그, 국제화 태그 및 SQL 태그와 같은 일반적인 구조적 작업을 지원합니다. 또한 기존 사용자 정의 태그를 JSTL 태그와 통합하기위한 프레임 워크를 제공합니다.
JSTL 라이브러리 설치
JSP 태그 작업을 시작하려면 먼저 JSTL 라이브러리를 설치해야합니다. Apache Tomcat 컨테이너를 사용하는 경우 다음 두 단계를 따르십시오.
Step 1− Apache Standard Taglib 에서 바이너리 배포판을 다운로드하고 압축 파일의 압축을 풉니 다.
Step 2 − 표준 Taglib를 사용하려면 Jakarta Taglibs distribution, 배포판의 'lib'디렉토리에있는 JAR 파일을 애플리케이션의 webapps\ROOT\WEB-INF\lib 예배 규칙서.
라이브러리를 사용하려면 라이브러리를 사용하는 각 JSP의 맨 위에 <taglib> 지시문을 포함해야합니다.
JSTL 태그의 분류
JSTL 태그는 기능에 따라 JSP 페이지를 만들 때 사용할 수있는 다음과 같은 JSTL 태그 라이브러리 그룹으로 분류 할 수 있습니다.
Core Tags
Formatting tags
SQL tags
XML tags
JSTL Functions
핵심 태그
핵심 태그 그룹은 가장 일반적으로 사용되는 JSTL 태그입니다. 다음은 JSP에 JSTL Core 라이브러리를 포함하는 구문입니다.
<%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>
다음 표는 핵심 JSTL 태그를 나열합니다.
S. 아니. | 태그 및 설명 |
---|---|
1 | <% = ...>와 같지만 표현식에 사용됩니다. |
2 | 식 평가 결과를 'scope' |
삼 | 제거 scoped variable (지정된 경우 특정 범위에서). |
4 | 무엇이든 잡는다 Throwable 그것은 그것의 몸에서 발생하고 선택적으로 그것을 노출합니다. |
5 | 제공된 조건이 참인 경우 본문을 평가하는 간단한 조건부 태그입니다. |
6 | 상호 배타적 인 조건부 연산에 대한 컨텍스트를 설정하는 간단한 조건부 태그 <when> 과 <otherwise>. |
7 | 하위 태그 <choose> 그것의 상태가 평가되면 몸을 포함 'true'. |
8 | 하위 태그 <choose> 그 다음 <when> 모든 이전 조건이 다음으로 평가 된 경우에만 태그를 지정하고 실행합니다. 'false'. |
9 | 절대 또는 상대 URL을 검색하고 그 내용을 페이지 (문자열)에 노출합니다. 'var'또는 독자 'varReader'. |
10 | 다양한 컬렉션 유형을 허용하고 부분 집합 및 기타 기능을 지원하는 기본 반복 태그입니다. |
11 | 제공된 구분 기호로 구분 된 토큰을 반복합니다. |
12 | 포함에 매개 변수를 추가합니다. 'import' 태그의 URL. |
13 | 새 URL로 리디렉션합니다. |
14 | 선택적 쿼리 매개 변수를 사용하여 URL을 만듭니다. |
태그 서식 지정
JSTL 형식 지정 태그는 국제화 된 웹 사이트의 텍스트, 날짜, 시간 및 숫자를 형식화하고 표시하는 데 사용됩니다. 다음은 JSP에 서식 라이브러리를 포함하는 구문입니다.
<%@ taglib prefix = "fmt" uri = "http://java.sun.com/jsp/jstl/fmt" %>
다음 표는 형식화 JSTL 태그를 나열합니다-
S. 아니. | 태그 및 설명 |
---|---|
1 | 특정 정밀도 또는 형식으로 숫자 값을 렌더링합니다. |
2 | 숫자, 통화 또는 백분율의 문자열 표현을 구문 분석합니다. |
삼 | 제공된 스타일과 패턴을 사용하여 날짜 및 / 또는 시간을 형식화합니다. |
4 | 날짜 및 / 또는 시간의 문자열 표현을 구문 분석합니다. |
5 | 태그 본문에서 사용할 리소스 번들을로드합니다. |
6 | 주어진 로케일을 로케일 구성 변수에 저장합니다. |
7 | 리소스 번들을로드하고 명명 된 범위 변수 또는 번들 구성 변수에 저장합니다. |
8 | 본문에 중첩 된 모든 시간 형식화 또는 구문 분석 조치에 대한 시간대를 지정합니다. |
9 | 시간대 구성 변수에 지정된 시간대를 저장합니다. |
10 | 국제화 된 메시지를 표시합니다. |
11 | 요청 문자 인코딩을 설정합니다. |
SQL 태그
JSTL SQL 태그 라이브러리는 다음과 같은 관계형 데이터베이스 (RDBMS)와 상호 작용하기위한 태그를 제공합니다. Oracle, mySQL, 또는 Microsoft SQL Server.
다음은 JSP에 JSTL SQL 라이브러리를 포함하는 구문입니다.
<%@ taglib prefix = "sql" uri = "http://java.sun.com/jsp/jstl/sql" %>
다음 표는 SQL JSTL 태그를 나열합니다-
S. 아니. | 태그 및 설명 |
---|---|
1 | 프로토 타이핑에만 적합한 간단한 DataSource 생성 |
2 | 본문 또는 sql 속성을 통해 정의 된 SQL 쿼리를 실행합니다. |
삼 | 본문 또는 sql 속성을 통해 정의 된 SQL 업데이트를 실행합니다. |
4 | SQL 문의 매개 변수를 지정된 값으로 설정합니다. |
5 | SQL 문의 매개 변수를 지정된 java.util.Date 값으로 설정합니다. |
6 | 모든 명령문을 하나의 트랜잭션으로 실행하도록 설정된 공유 연결과 함께 중첩 된 데이터베이스 작업 요소를 제공합니다. |
XML 태그
JSTL XML 태그는 XML 문서를 만들고 조작하는 JSP 중심의 방법을 제공합니다. 다음은 JSP에 JSTL XML 라이브러리를 포함하는 구문입니다.
JSTL XML 태그 라이브러리에는 XML 데이터와 상호 작용하기위한 사용자 정의 태그가 있습니다. 여기에는 XML 구문 분석, XML 데이터 변환 및 XPath 식을 기반으로하는 흐름 제어가 포함됩니다.
<%@ taglib prefix = "x"
uri = "http://java.sun.com/jsp/jstl/xml" %>
예제를 진행하기 전에 다음 두 개의 XML 및 XPath 관련 라이브러리를 <Tomcat Installation Directory>\lib −
XercesImpl.jar −에서 다운로드 https://www.apache.org/dist/xerces/j/
xalan.jar −에서 다운로드 https://xml.apache.org/xalan-j/index.html
다음은 XML JSTL 태그 목록입니다-
S. 아니. | 태그 및 설명 |
---|---|
1 | <% = ...>와 같지만 XPath 표현식에 사용됩니다. |
2 | 속성 또는 태그 본문을 통해 지정된 XML 데이터를 구문 분석하는 데 사용됩니다. |
삼 | 변수를 XPath 표현식의 값으로 설정합니다. |
4 | 테스트 XPath 표현식을 평가하고 참이면 본문을 처리합니다. 테스트 조건이 거짓이면 본문이 무시됩니다. |
5 | XML 문서에서 노드를 반복합니다. |
6 | 상호 배타적 인 조건부 연산에 대한 컨텍스트를 설정하는 간단한 조건부 태그 <when> 과 <otherwise> 태그. |
7 | 하위 태그 <choose> 표현이 '참'으로 평가되면 본문을 포함합니다. |
8 | 하위 태그 <choose> 그 다음 <when> 모든 이전 조건이 '거짓'으로 평가되는 경우에만 태그를 지정하고 실행합니다. |
9 | XML 문서에 XSL 변환을 적용합니다. |
10 | 함께 사용 transform XSLT 스타일 시트에서 매개 변수를 설정하는 태그 |
JSTL 함수
JSTL에는 여러 표준 함수가 포함되어 있으며 대부분은 일반적인 문자열 조작 함수입니다. 다음은 JSP에 JSTL 함수 라이브러리를 포함하는 구문입니다.
<%@ taglib prefix = "fn"
uri = "http://java.sun.com/jsp/jstl/functions" %>
다음 표는 다양한 JSTL 함수를 나열합니다.
S. 아니. | 기능 및 설명 |
---|---|
1 | fn : contains () 입력 문자열에 지정된 부분 문자열이 포함되어 있는지 테스트합니다. |
2 | fn : containsIgnoreCase () 입력 문자열에 지정된 부분 문자열이 대소 문자를 구분하지 않는 방식으로 포함되는지 테스트합니다. |
삼 | fn : endsWith () 입력 문자열이 지정된 접미사로 끝나는 지 테스트합니다. |
4 | fn : escapeXml () XML 마크 업으로 해석 될 수있는 문자를 이스케이프합니다. |
5 | fn : indexOf () 지정된 하위 문자열이 처음 나타나는 문자열이있는 인덱스를 반환합니다. |
6 | fn : join () 배열의 모든 요소를 문자열로 결합합니다. |
7 | fn : 길이 () 컬렉션의 항목 수 또는 문자열의 문자 수를 반환합니다. |
8 | fn : replace () 입력 문자열에서 모든 발생을 주어진 문자열로 대체 한 결과 문자열을 반환합니다. |
9 | fn : split () 문자열을 하위 문자열 배열로 분할합니다. |
10 | fn : startsWith () 입력 문자열이 지정된 접두사로 시작하는지 테스트합니다. |
11 | fn : substring () 문자열의 하위 집합을 반환합니다. |
12 | fn : substringAfter () 특정 하위 문자열 다음에 오는 문자열의 하위 집합을 반환합니다. |
13 | fn : substringBefore () 특정 하위 문자열 앞에있는 문자열의 하위 집합을 반환합니다. |
14 | fn : toLowerCase () 문자열의 모든 문자를 소문자로 변환합니다. |
15 | fn : toUpperCase () 문자열의 모든 문자를 대문자로 변환합니다. |
16 | fn : trim () 문자열의 양쪽 끝에서 공백을 제거합니다. |