커스텀 태그
- JSTL(JSP Standard Tag Library) : JSP 페이지에서 가장 많이 사용한느 기능을 태그로 제외하고, JSTL 라이브러리를 따로 설치해서 사용한다.
- 개발자가 만든 커스텀 태그 : 개발자가 필요에 의해 만든 태그로, 스트러츠나 스프링 프레임워크에서 미리 만들어서 제공한다.
JSP 표준 태그 라이브러리(JSTL)
JSTL 태그 종류
접두어
- c : 변수 지원, 흐름 제어, 반복문 처리, URL 처리
- fmt : 지역, 메시지 형식, 숫자 및 날짜 형식
- x : XML 코어, 흐름 제어, XML 변환
- sql : SQL
- fn : 컬렉션 처리, 문자열 처리
Core 태그 라이브러리
코어 라이브러리를 사용하면 자바 기능을 태그로 대체할 수 있다.
톰캣에서는 JSTL 라이브러리를 기본으로 제공하지 않고 외부 라이브러리에서 가져와 기능을 수행한다. 따라서 자바의 import문처럼 코어 태그 라이브러리를 사용하려면 반드시 JSP 페이지 상단에 다음과 같이 taglib 디렉티브 태그를 추가해서 톰캣에게 알려주어야 한다.
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set>
<c:set var="변수명" value="변수값" [scope="scope 속성 중 하나"]/>
- <c:set>태그를 이용하여 길어서 사용하기 불편한 변수나 속성 이름을 간결하게 만들어낼 수 있다.
<c:remove>
<c:remove var="변수이름" [scope="scope 속성 중 하나"] />
<c:if>
<c:if test="${조건식}" var="변수이름" [scope="scope 속성 중 하나"] />
..
</c:if>
<c:choose>
<c:choose>
<c:when test="조건식1">본문내용1</c:when>
<c:when test="조건식2">본문내용2</c:when>
..
<c:otherwise>본문내용n</c:otherwise>
</c:if>
<c:forEach>
<c:forEach> var="변수이름" items="반복할객체이름" begin="시작값" end="마지막값" step="증가값 varStatus="반복상태변수이름">
...
</c:forEach>
<c:url>
<c:url var="변수이름" value="URL경로" [scope="scope 속성 중 하나"][<c:param name="매개변수이름" value="전달값" />]
...
</c:url>
<c:redirect>
<c:redirect url="redirect할 URL">
[<c:param name="매개변수이름" value="전달값" />]
...
</c:redirect>
- 지정된 JSP 페이지로 리다이렉트할 때 사용한다. response.sendRedirect() 기능과 동일하며 <c:redirect> 태그로 리다이렉틓할 때 매개변수를 전달할 수 있다.
<c:out>
<c:out value="출력값" default="기본값" [escapeXml="boolean값"]
- <c:out> 태그는 화면에 지정한 값을 출력해 주는 태그이다. 표현 언어와 기능은 거의 동일하지만 기본값 설정 기능 등을 제공하므로 더 편리하게 사용할 수 있다.
JSTL을 사용함으로써 JSP 코드의 가독성을 높일 수 있다. 또한, JSP 코드와 Java 코드를 분리하여 유지보수성을 높일 수도 있다. 그리고 JSTL은 태그 라이브러리로서 개발자가 직접 구현하지 않아도 되므로 개발 시간을 단축시킬 수 있다.
'Spring' 카테고리의 다른 글
SPRING(08.14) - history, location, 인터셉터 (0) | 2024.08.14 |
---|---|
SPRING(08.13) - Model 객체 (0) | 2024.08.13 |
SPRING(08.12) - 제네릭 (0) | 2024.08.12 |
SPRING(08.12) - 표준 메뉴얼, lombok (0) | 2024.08.12 |
MyBatis? (0) | 2024.08.10 |