| 버전 | JSTL 버전 | 요구사항 |
|---|---|---|
| Standard 1.0 | Servlet 2.3 | JavaServer Pages 1.2 |
| Standard 1.1 | Servlet 2.4 | JavaServer Pages 2.0 |
| Standard 1.2.3 | Servlet 2.5 | JavaServer Pages 2.1 |
build.gradle의 dependencies에 의존성 추가Spring(Gradle) - 스프링 부트 3.0 미만
dependencies {
implementation 'javax.servlet:jstl'
}
Spring(Gradle) - 스프링 부트 3.0 이상
dependencies {
implementation 'jakarta.servlet:jakarta.servlet-api'
implementation 'jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api'
implementation 'org.glassfish.web:jakarta.servlet.jsp.jstl'
}
JSTL에서는 5가지의 라이브러리를 제공한다.
| library | description | URI | prefix |
|---|---|---|---|
| Core | 기본적인 제어 구조, 반복문, 조건문, 변수 설정 및 출력과 같은 기본적인 로직을 처리하는 태그 | http://java.sun.com/jsp/jstl/core | c |
| Formatting | 날짜 및 시간 형식, 숫자 형식, 메시지 형식화와 같은 데이터 포맷팅을 처리하는 태그 | http://java.sun.com/jsp/jstl/fmt | fmt |
| XML | XML 문서의 처리를 돕는 태그들로서 XML 문서에서 데이터 추출 및 조작을 수행 | http://java.sun.com/jsp/jstl/xml | x |
| SQL | 데이터베이스와 상호작용할 수 있는 태그들을 제공. 주로 데이터베이스 쿼리를 실행하고 결과를 처리하는 데 사용 | http://java.sun.com/jsp/jstl/sql | sql |
| Functions | 문자열 처리, 데이터 변환, 컬렉션 조작 등과 같은 작업을 수행하는 데 사용 | http://java.sun.com/jsp/jstl/fn | fn |
java 17, spring boot 3.0 이상을 사용 중에 JSTL 1.0 URI를 사용하였더니 500에러가 떴다. 해결방법은 JSTL 1.1, JSTL 1.2를 사용해야 된다!
Core 라이브러리 URI
예시
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
...
<c:forEach var="item" items="${members}">
<tr>
<td>${item.id}</td>
<td>${item.username}</td>
<td>${item.age}</td>
</tr>
</c:forEach>
...