라이브러리 설정
상단에 해당 라이브러리를 설정해줘야 사용할수 있음
<%@ 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)시키는 기능도 가지고 있음
> - <
< - >
& - &
' - '
'' - "
board 값이 없으면 default로 foo를 출력함
<c:out value="${board}" default="foo" />
'JSTL' 카테고리의 다른 글
[JSTL] <fmt 태그> (0) | 2021.05.14 |
---|