JavaServer Pages(JSP) API는 HTML 또는 XML 태그와 유사한 형태의 커스텀 JSP 태그를 직접 정의할 수 있도록 지원합니다. 그리고 태그 라이브러리(tag library)란 이처럼 커스텀 동작을 구현하는 사용자 정의 태그들의 모음을 의미합니다.
taglib 지시문의 역할
taglib 지시문은 JSP 페이지에서 커스텀 태그 집합을 사용하겠다고 선언하는 역할을 합니다. 구체적으로 다음 세 가지 기능을 수행합니다.
- JSP 페이지가 특정 커스텀 태그 라이브러리를 사용한다는 것을 선언
- 해당 태그 라이브러리가 위치한 경로(URI) 식별
- JSP 페이지 내에서 커스텀 태그를 구분할 수 있는 접두어(prefix) 지정
taglib 지시문 문법
taglib 지시문은 아래와 같은 기본 문법을 따릅니다.
<%@ taglib uri="uri" prefix="prefixOfTag" %>
주요 속성 설명
- uri: 태그 라이브러리의 위치를 나타내며, 컨테이너(WAS)가 인식할 수 있는 경로 값으로 해석됩니다. TLD(Tag Library Descriptor) 파일의 위치나 web.xml에 등록된 논리적 이름이 될 수 있습니다.
- prefix: JSP 페이지에서 커스텀 태그를 호출할 때 사용할 접두어를 지정합니다. 이 접두어를 통해 컨테이너는 어떤 마크업이 일반 태그가 아닌 커스텀 액션인지 판단합니다.
XML 문법으로 표현하기
JSP 문서(XML 형식)에서는 위 문법을 다음과 같이 XML 등가 형식으로 작성할 수 있습니다.
<jsp:directive.taglib uri="uri" prefix="prefixOfTag" />
간단한 사용 예제
예를 들어, JSTL 코어 라이브러리를 사용하는 경우 다음과 같이 선언합니다.
<%@ taglib uri="https://java.sun.com/jsp/jstl/core" prefix="c" %>
이후 페이지 내에서 <c:if>, <c:forEach> 같은 태그를 자유롭게 활용할 수 있습니다. 이처럼 taglib 지시문을 활용하면 반복적인 스크립트릿 코드를 줄이고, 가독성과 유지보수성이 뛰어난 JSP 페이지를 작성할 수 있습니다.