학습(구)/JSP

JSTL - core태그

잉아당 2020. 9. 17. 00:23
728x90

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