라이브러리 설정

상단에 해당 라이브러리를 설정해줘야 사용할수 있음

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

 

c:if

//auth가 'master' 일경우
<c:if test="${auth eq 'master'}">
	<div>master</div>
</c:if>

//auth가 'user' 일경우
<c:if test="${auth eq 'user'}">
	<div>user</div>
</c:if>

 

c:when

<c:choose>
	//auth가 'master' 일경우
	<c:when test="${auth eq 'master'}">
		<div>master</div>
	</c:when>

	//auth가 'user' 일경우
	<c:when test="${auth eq 'user'}">
		<div>user</div>
	</c:when>
    
    //auth가 그외 나머지일경우
    <c:otherwise>
    	<div>none</div>
    </c:otherwise>
</c:choose>

 

c:forEach

<c:forEach var="item" items="${list}" varStatus="status">
	<div>${item.name}</div>
</c:forEach>

list를 item이라는 이름으로 선언후 for문을 실행하면서 그안에 있는 키이름을 출력

 

c:set

model에 vo나 map을 담았을경우

model.addAttribute("board", new Board());
model.addAttribute("board", new HashMap<String, String>());

 

jstl에서 해당 model에 담은값을 변경할수 있음

<c:set target="${board}" property="title" value="제목값 변경" />
<c:out value="${board.title}" />

 

일반적인 변수를 설정하는 방법

<c:set var="title" value="제목" />
<c:out value="${title}" />

 

c:remove

jstl에서 <c:remove>를 사용하면 해당 선언된 키의 값이 삭제가 됨

<c:remove var="board"/>

 

c:out

<c:out>문을 사용하는 이유는 xss 공격을 방어하기 위해서 사용함

또한 HTML 문자를 탈락(escape)시키는 기능도 가지고 있음

>  - &lt;
<  - &gt;
&  - &amp;
'  - &#039;
'' - &#034;

 

board 값이 없으면 default로 foo를 출력함

<c:out value="${board}" default="foo" />

 

'JSTL' 카테고리의 다른 글

[JSTL] <fmt 태그>  (0) 2021.05.14
복사했습니다!