유블로그

JSTL (JSP Standard Tag Library) 본문

Web : BackEnd

JSTL (JSP Standard Tag Library)

yujeong kang 2020. 10. 11. 22:22

JSTL : Java EE 기반의 웹 애플리케이션 개발 플랫폼을 위한 컴포넌트 모음

 

개발자가 직접 태그를 작성할 수 있는 기능을 제공(custom tag)

custom tag 중에서 많이 사용되는 것들을 모아서 JSTL 이라는 규약을 만듦.

 

<%@taglib prefix="prefix" uri="uri" %>

 

가장 많이 쓰는 태그는 core !

prefix 는 c, uri는 http://java.sun.com/jsp/jstl/core 이다.

 

변수지원, 흐름제어, URL 처리를 할 수 있다.

 

 

- 변수 선언 : <c:set> -> 변수나 특정 객체의 프로퍼티에 값을 할당할 때 사용

value 속성 이용하여 생존범위 변수 값 할당 (범위 디폴트는 page)

<c:set value="value" var="varName" [scope="{page|request|session|application}"] />

액션의 body 컨텐츠 사용하여 변수 값 할당 (범위 디폴트는 page)

<c:set var="varName" [scope="{page|request|session|application}"] >

body content

</c:set>

target = 객체, property = 객체의 프로퍼티

<c:set value="value" target="target" property="property" />

 

 

+ <c:catch>

오류페이지로 넘기지 않고 직접 처리할 때 사용

 

- 조건문

<c:if> <c:choose> <c:when> <c:otherwise>

<c:if test="${userType eq 'admin'}">
...
</c:if>
<c:if test=""${userType eq 'admin'}" var="accessible">
...
</c:if>

여기서 var는 test 표현식 결과인 boolean 값을 담는 변수다다.
<c:choose>
     <c:when test="${userType == 'admin'}">
           ...
     </c:when>
     <c:when test="${userType == 'member'}">
           ...
     </c:when>
     <c:otherwise>
           ...
     </c:otherwise>
</c:choose>

 

- 반복문 : <c:forEach> -> 컬렉션에 있는 항목들에 대하여 반복 수행

items 는 반복을 수행할 컬렉션

<c:forEach var="course" items="${courses}">
        ${course.name}
</c:forEach>
varStatus 는 현재 반복 상태 ! 그래서 ${varStatus.count} 는 1 2 3 ... 이렇게 올라감~

<c:forEach var="course" items="${courses} varStatus="varStatus">

        ${varStatus.count} ${course.name}
</c:forEach>
step은 증가단위므로 짝수만 출력~

<c:forEach var="course" item"${courses}" begin="0" end="5" step="2">
        ${course.name}
</c:forEach>
item 안주고 가능

<c:forEach var="value" begin="1" end="5" step="1">
        ${value}
</c:forEach>

 

'Web : BackEnd' 카테고리의 다른 글

JSP (Java Server Page)  (0) 2020.10.11
[Java] Servlet  (0) 2020.10.11
EL ( Expression Language )  (0) 2020.10.11
Cookie & HttpSession  (0) 2020.10.11
[JSP] MVC 패턴 (Model-View-Controller)  (0) 2020.10.07