[JSP] JSTL (JSP Standard Tag Library)

JSTL (JSP Standard Tag Library)

JavaServer Pages Standard Tag Library (JSTL) 은 간단한 태그 하나로 기능을 감싸 표현하는 방법으로 다양한 JSP 어플리케이션을 지원한다. 가장 흔하게 사용되는 부분은 JSP 안에서 반복문을 활용하는 경우다.

<% for { %>
<!-- code -->
<% } %>

이런 형태로 JSP 내에 삽입된 코드는 가시성에 영향을 준다. 이를 JSTL 내에 반복문 태그를 사용하면 JSP 코드 가시성을 해치지 않으며 의도한 기능을 수행하는 코드를 작성할 수 있다.

이외에도 JSTL 은 아래와 같은 경우에 사용될 수 있다.

  • 반복문 태그 : 특정 요소를 여러 번 반복하는데 사용되는 태그
  • 조건문 태그 : 특정 요소에 대해 조건을 확인하는데 사용되는 태그
  • XML 조작 : XML 을 조작해 값을 읽거나 저장하는데 사용되는 태그
  • 국제화 태그 : 다국어 문서, 숫자 및 날짜형식을 정하는데 사용되는 태그
  • SQL 태그 : 데이터베이스 지정, 연결, 조작에 사용되는 태그

Install JSTL Library (JSTL 라이브러리 설치)

JSP 태그들을 사용하기 위해서는 JSTL 라이브러리를 설치해야한다. Tomcat 을 사용한다고 가정하면 아래 두 과정을 거쳐 JSTL을 설치할 수 있다.

  • Apache Standard Taglib 에서 Binary 파일을 받아 압축을 푼다
  • 압축을 푼 JAR 파일을 webapps\ROOT\WEB-INF\lib 디렉토리에 복사한다
  • Tag 를 사용하려는 JSP 파일 가장 상단에는 <taglib> 를 명시한다

Classification of The JSTL Tags (JSTL 태그 분류)

  • Core Tags : <%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>
  • Formatting Tags : <%@ taglib prefix = "fmt" uri = "http://java.sun.com/jsp/jstl/fmt" %>
  • SQL Tags : <%@ taglib prefix = "sql" uri = "http://java.sun.com/jsp/jstl/sql" %>
  • XML Tags : <%@ taglib prefix = "x" uri = "http://java.sun.com/jsp/jstl/xml" %>
  • JSTL Functions : <%@ taglib prefix = "fn" uri = "http://java.sun.com/jsp/jstl/functions" %>

모든 태그를 다 외우기는 어렵다. 본인만의 활용 예시 사이트를 하나 저장해두고 헷갈리거나 궁금할 때 참고하며 개발하자.

간단한 태그 활용 예시

여기서는 간단하게 core 태그 내부 <c: out> 예제를 확인해본다. 이 태그는 . 을 사용해 데이터에 속성에 접근할 수 있게 해준다. customer.address.street 과 같은 형태로 사용할 수 있다.

<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c" %>

<html>
   <head>
      <title> <c:out> Tag Example</title>
   </head>

   <body>
      <c:out value = "${'<tag> , &'}"/>
   </body>
</html>

이 때, c:out 뒤에 보이는 value 값은 무조건적으로 쓰여야하는 값이다. 위 예제 코드는 브라우저에 아래 내용을 출력한다.

<tag> , &

Updated:

Leave a comment