잡다한 팁

내가 보려고 만든 JSTL 정리

choco2706 2024. 4. 24. 20:39

JSTL(JSP Standard Tag Library)

JSTL API 및 자바 구현체의 2개 라이브러리

혹은 API와 구현체가 함께 번들 형태로 구성되어있는 라이브러리가 필요

 

태그 라이브러리 선언

자바에서 import문을 선언하듯 JSP에서도 JSTL 확장 태그를 사용하려면 taglib 지시자로 라이버리를 선언해야 한다.

JSP 지시자 태그 <%@ taglib %>를 사용해서 다음과 같이 선언한다.

<%@ taglib prefix="접두사" uri="URI" %>

 

uri : 태그 라이브러리의 네임 스페이스 URI 식별자

prefix : JSTL 태그를 사용할때 태그 이름 앞에 붙일 접두사

 

태그 라이브러리 별 표준 선언문

태그 라이브러리 선언문
Core <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
XML <%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
I18N <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
Database Functions <%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
Functions <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

 

prefix를 꼭 저렇게 지정해야하는건 아니지만 JSTL에서 제안하는 표준 접두사이므로 똑같이 사용하는게 좋다.

 

태그 라이브러리 별 태그 정리

태그 라이브러리 태그 태그 - 부모태그(자식태그)
Core(기본) 변수 remove, set
  흐름 제어 choose(when, otherwise), forEach, forTokens, if
  URL 관리 import(param), redirect(param), url(param)
  기타 catch, out
XML 기본 out, parse, set
  흐름 제어 choose(when, otherwise), forEach,  if
  변환 transform(param)
I18N(국제화) 로케일 setLocale, requestEncoding
  메시지 포멧 bundle, message(param), setBundle
Database 데이터 소스 설정 setDataSource
  SQL query(dataParam, param), transaction
, update(dateParam, param)
Functions(기타 함수) 집합의 원소 개수 length
  문자열 처리 toUpperCase, toLowerCase, substring, substringAfter
, substringBefore, trim, replace, indexOf, startsWith
, endsWith, contains, containsIgnoreCase, split, join, escapeXml

 

참고 : [JSP] JSTL 사용 방법 - 주요 태그 문법 정리 (tistory.com)