Backend/Servlet & JSP

JSP 표준 태그 라이브러리 (JSTL)

swoody 2024. 11. 29. 22:26

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