JSP 개발에서 taglib 지시문(directive)은 페이지가 커스텀 태그 집합을 사용한다고 선언하는 역할을 합니다. 이 지시문은 태그 라이브러리의 위치를 식별하고, JSP 페이지 내에서 커스텀 태그를 인식할 수 있는 수단을 제공합니다.
taglib 지시문의 기본 문법
taglib 지시문은 아래와 같은 형식으로 작성합니다.
<%@ taglib uri = "uri" prefix = "prefixOfTag" %>
각 속성의 역할은 다음과 같습니다.
- uri: 컨테이너가 이해할 수 있는 태그 라이브러리의 위치를 가리킵니다.
- prefix: 어떤 마크업이 커스텀 액션(태그)인지 컨테이너에 알려주는 식별자 역할을 합니다.
XML 형식으로 작성하기
위 문법은 JSP 문서(XML 스타일)에서 다음과 같이 동등하게 표현할 수도 있습니다.
<jsp:directive.taglib uri = "uri" prefix = "prefixOfTag" />
커스텀 태그 사용 방법
커스텀 태그는 일반적으로 <prefix:tagname> 형태로 사용됩니다. 여기서 접두사(prefix)는 taglib 지시문에서 지정한 것과 동일해야 하며, 태그 이름(tagname)은 해당 태그 라이브러리에 실제로 구현된 태그의 이름입니다.
실전 예제
예를 들어, custlib라는 태그 라이브러리에 hello라는 태그가 포함되어 있다고 가정해 보겠습니다. 이 태그를 mytag라는 접두사와 함께 사용하려면 태그는 <mytag:hello>가 되며, JSP 파일에서는 다음과 같이 활용할 수 있습니다.
<%@ taglib uri = "https://www.example.com/custlib" prefix = "mytag" %>
<html>
<body>
<mytag:hello/>
</body>
</html>추가 팁
실무에서는 JSTL(Jakarta Standard Tag Library)처럼 널리 쓰이는 태그 라이브러리를 자주 사용합니다. 예를 들어 JSTL 코어 라이브러리는 보통 c라는 접두사를 붙여 <c:forEach>, <c:if> 같은 태그로 활용합니다. 반복 코드를 줄이고 로직과 화면을 분리할 수 있어 유지보수성이 크게 향상됩니다.