JSP 구현 스크립트 요소로 동적 요소를 구현할 때에는 이에 필요한 기능들을 개발자가 직접 만들어 사용할 수 있는 태그가 필요합니다. 이를 커스텀 태그라고 하는데 미리 만들어져 있는 커스텀 태그인 JSTL이 있습니다.
JSTL을 사용하기 위해서는 jstl.jar를 WEB-INF/lib에 복사한 후 사용해야 합니다.
라이브러리 | 기능 |
core | 변수지원, 흐름지원 |
fmt | locale지정, 메시지처리 |
xml | XML코어, XML처리 |
sql | SQL |
functions | 컬렉션 처리 |
core
EL 변수를 생성하거나 EL 변수나 프로퍼티의 값을 설정하고 문서의 수행 흐름을 제어하거나 URL을 처리하거나 익셉션 처리 등을 수행합니다. 접두어 c:을 사용하여 태그를 지정합니다.
기능 | 태그 | 설명 |
변수 생성 및 제거 | set | 영역 객체에 EL 변수를 생성하고 변수에 값을 지정한다. |
remove | 설정한 변수를 제거한다. | |
흐름 제어 | if | if 블록을 형성한다. |
choose | when, otherwise 태그를 함께 사용하여 다중 선택을 수행한다. | |
forEach | 컬렉션의 원소들을 순차적으로 처리한다. | |
forTokens | 문자열을 구성하는 토큰을 처리한다. |
기능 | 태그 | 설명 |
경로 처리 | redirect | 지정한 경로로 리다이렉트한다. |
url | 절대 경로 혹은 ㅅ아대 경로롤 url을 작성한다. | |
기타 | out | JspWriter를 사용하여 데이터를 출력한다. |
catch | 발생한 익셉션을 EL 변수에 저장한다. |
<c:set> : EL변수 생성하거나 EL변수나 프로퍼티 값을 설정할 때 사용합니다.
<c:set var = “변수명” value = “값” [scope = “영역”]>
<c:set var = “변수명” [scope = “영역”]> 값 </c:set>
var : 값을 저장할 변수 이름을 지정합니다.
value : 변수의 값을 지정합니다.
scope : 변수를 저장할 영역을 지정합니다.
=> EL변수
<c:set target = “대상 객체” property = “프로퍼티 이름” value = “값”>
<c:set target = “대상 객체” property = “프로퍼티 이름”> 값 </c:set>
target : 프로퍼티 값을 설정할 대상 객체를 지정하는데 표현식 혹은 EL로 지정해야 합니다. 이때 EL변수로는 지정할 수 없습니다.
또한 대상 객체는 자바빈 객체이거나 Map 객체어야 합니다.
property : 값을 넣을 프로퍼티 이름을 지정합니다. 따라서 자바빈 객체에 대 해서는 프로퍼티 이름에 해당하는 set 메서드가 반드시 존재해
야 합니다.
value : 배정할 프로퍼티 값을 지정한다.
=> 프로퍼티
<c:remove> : 영역 객체에서 제거 할 때 사용합니다.
<c:remove var = “변수명” [scope = “영역”]>
scope : scope를 지정하지 않으면 모든 영역의 해당 변수를 제거합니다.
<c:if> : if문 사용시 사용합니다.
<c:if test="${조건식}">
수행 블록
</c:if>
test : 조건식이 오며 해당값이 true일 경우 해당 몸통을 실행하게 됩니다.
<c:choose><c:when><c:otherwise> : 자바의 switch-case문에 해당합니다.
<c:choose>
<c:when test = "조건">
수행 블록
</c:when>
<c:otherwise>
when을 만족하지 못할경우 실행
</c:otherwise>
</c:choose>
test : 조건이 오며 해당값이 true일 경우 해당 몸통을 실행하게 됩니다.
<c:forEach> : 자바의 개선된 for문에 해당합니다.
<c:forEach var="변수" begin="시작점" end="끝" step="증가숫자">
<c:forToken> : 열거되는 토큰들에 대해 각 토큰을 다루는 반복 태크
<c:forTokens var="토큰변수" items="문자,문자,문자," delims=",.">
delims : 지정한 문자로 구분합니다.
<c:url> : URL을 생성하는 태그입니다.
<c:param> : 요청파라미터를 URL에 추가하는 태그입니다.
<c:url value="URL지정" var="URL을 저장할 변수">
<c:param name="파라미터이름" value="파라미터값"/>
</c:url>
<c:redirect> : 지정한 페이지로 리다이텍트를 수행하는 태그입니다. <c:param>을 이용해 요청 파라미터를 추가할 수 있습니다. 상대 URL의 경우 context 속성을 사용하여 다른 컨텍스트 경로도 지정할 수 있습니다.
<c:redirect url = "리다이렉트할 주소">
<c:param name="파라미터이름" value="파라미터값"/>
</c:redirect>
<c:redirect url="상대경로" context="다른 컨텍스트 경로"/>
<c:catch> : 자바의 try-catch 블록을 구현하는 태그입니다.
<c:catch var="익셉션을 저장할 변수">
해당 익셉션을 변수에 저장하여 익셉션을 처리할 때 사용합니다.
'학습(구) > JSP' 카테고리의 다른 글
커스텀 태그 (0) | 2020.09.17 |
---|---|
JSTL - fmt태그 (0) | 2020.09.17 |
표현 언어(EL) (0) | 2020.09.16 |
오류 처리 (0) | 2020.09.10 |
로그인(쿠키와 세션) (0) | 2020.09.10 |