JSTL(JSP standard Tag Libraray)은 JSP에서 빈번하게 사용되는 조건문, 반복문 등을 처리해주는 태그를 모아 표준으로 만들어 놓은 라이브러리입니다.
JSTL에서 제공하는 태그 종류
종류 | 기능 | 접두어 | URI |
---|---|---|---|
Core 태그 | 변수 선언, 조건문/반복문, URL 처리 | c | jakarta.rtags.core |
Formatting 태그 | 숫자, 날짜, 시간 포멧 지정 | fmt | jakarta.tags.fmt |
XML 태그 | XML 파싱 | x | jakarta.tags.xml |
Function 태그 | 컬렉션, 문자열 처리 | fn | jakarta.tags.functions |
SQL 태그 | 데이터베이스 연결 및 쿼리 실행 | sql | jakarta.tags.sql |
- JSTL을 사용하려는 JSP 파일에서는 taglib 지시어를 추가
JSTL 사용 설정
JSTL은 확장 태그이므로 별도 라이브러리가 필요
- 메이븐 저장소에 접속
Maven Repository: Search/Browse/Explore - jakarta.servlet.jsp.jstl로 검색 → 첫 번째 링크
- 3.0.0 버전 선택
- jar로 표시된 링크 클릭하여 다운로드
- jakarta.servlet.jsp.jstl로 검색 → 두 번째 링크
- 3.0.1 버전 선택
- jar 표시된 링크 클릭하여 다운로드
- 다운로드한 jar 파일을 webapp/WEB-INF/lib 폴더로 복사
코어(Core) 태그
프로그래밍 언어에서 가장 기본이 되는 변수 선언, 조건문, 반복문 등을 대체하는 태그 제공
<%@ taglib prefix="c" uri="jakart.tags.core"%>
태그명 | 기능 |
---|---|
set | EL에서 사용할 변수를 설정. setAttribute() 메서드와 동일한 기능. |
remove | 설정한 변수를 제거. removeAttribute() 메서드와 동일한 기능. |
if | 단일 조건문을 주로 처리. else문이 없다는 단점. |
choose | 다중 조건을 처리할 때 사용. 하위에 when-otherwise 태그가 있음. |
forEach | 반복문을 처리할 때 사용. 일반 for문과 향상된 for문 두 가지 형태로 사용할 수 있음. |
forTokens | 구분자로 분리된 각각의 토큰을 처리할 때 사용. StringTokenizer 클래스와 동일한 기능. |
import | 외부 페이지를 삽입할 때 사용. |
redirect | 지정한 경로로 이동. sendRedirect() 메서드 동일한 기능. |
url | 경로를 설정할 때 사용. |
out | 내용을 출력할 때 사용. |
catch | 예외 처리에 사용. |
국제화(Formatting) 태그
국가별로 다양한 언어, 날짜와 시간, 숫자 형식을 설정할 때 사용
<%@ taglib prefix="fmt" uri="jakarta.tags.fmt" %>
분류 | 태그명 | 기능 |
---|---|---|
숫자 포맷 | formatNumber | 숫자 포맷을 설정합니다. |
parseNumber | 문자열을 숫자 포맷으로 변환합니다. | |
날짜 포맷 | formatDate | 날짜나 시간의 포맷을 설정합니다. |
parseDate | 문자열을 날짜 포맷으로 변환합니다. | |
타임존 설정 | setTimeZone | 시간대 설정 정보를 변수에 저장합니다. |
timeZone | 시간대를 설정합니다. | |
로케일 설정 | setLocale | 통화 기호나 시간대를 설정한 지역에 맞게 표시합니다. |
requestEncoding | 요청 매개변수의 문자셋을 설정합니다. |
XML 태그
XML 문서 처리를 위한 태그들로, XML 파싱, 출력, 흐름 제어 등의 기능을 제공
<%@ taglib prefix="x" uri="jakarta.tags.xml"%>
태그명 | 기능 |
---|---|
out | select 속성에 지정한 XPath 표현식의 결과를 출력합니다. |
parse | XML을 파싱할 때 사용합니다. |
forEach | select 속성에 지정한 반복되는 노드를 파싱합니다. |
if | select 속성에 지정한 XPath 표현식의 값을 하나의 조건으로 결정합니다. |
choose | select 속성에 지정한 XPath 표현식의 값을 다중 조건으로 결정합니다. 하위에 when, otherwise 태그를 사용합니다. |
- XML 문서의 요소에 접근하기 위해 XPath 사용
- XPath는 XML 문서의 노드를 식별하고 탐색하는 역할
- Xalan.jar 라이브러리 다운로드 → webapp/WEB-INF/lib 폴더에 추가
https://mvnrepository.com/artifact/xalan/xalan
'Backend > Servlet & JSP' 카테고리의 다른 글
표현 언어 (Expression Language; EL) (0) | 2024.11.22 |
---|