[JSP] JSTL 라이브러리 버전과 사용법

Yujeong·2024년 1월 21일
post-thumbnail

JSTL이란?

  • Java Server Pages Standard Tag Library
  • JSP에서 사용하는 태그 라이브러리를 공통으로 사용하기 위해 정해진 표준
  • 자바 문법보다 조금 더 간결하게 반복문, 조건문, 데이터 포매팅 등의 처리 가능
  • JSP 페이지를 간결하게 유지 가능

EL

  • Expression Language
  • JSP 페이지에서 변수, 속성, 메서드 등에 접근하는 데 사용되는 표현 언어(라이브러리 아님)
  • JSP 2.0부터 JSTL과 EL이 통합되어 사용

JSTL 버전

버전JSTL 버전요구사항
Standard 1.0Servlet 2.3JavaServer Pages 1.2
Standard 1.1Servlet 2.4JavaServer Pages 2.0
Standard 1.2.3Servlet 2.5JavaServer Pages 2.1

JSTL 사용법

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가지의 라이브러리를 제공한다.

librarydescriptionURIprefix
Core기본적인 제어 구조, 반복문, 조건문, 변수 설정 및 출력과 같은 기본적인 로직을 처리하는 태그http://java.sun.com/jsp/jstl/corec
Formatting날짜 및 시간 형식, 숫자 형식, 메시지 형식화와 같은 데이터 포맷팅을 처리하는 태그http://java.sun.com/jsp/jstl/fmtfmt
XMLXML 문서의 처리를 돕는 태그들로서 XML 문서에서 데이터 추출 및 조작을 수행http://java.sun.com/jsp/jstl/xmlx
SQL데이터베이스와 상호작용할 수 있는 태그들을 제공. 주로 데이터베이스 쿼리를 실행하고 결과를 처리하는 데 사용http://java.sun.com/jsp/jstl/sqlsql
Functions문자열 처리, 데이터 변환, 컬렉션 조작 등과 같은 작업을 수행하는 데 사용http://java.sun.com/jsp/jstl/fnfn

③ 라이브러리 사용 에러 해결

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>
...

참고
Standard Taglib
JSTL core
core uri

profile
공부 기록

0개의 댓글