JSTL 등록
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
SET TAG
<%
session.setAttribute("myId", "admin");
session.setAttribute("uId", 49274);
%>
<!-- el 태그에서 변수를 표현하고 싶다면 set 태그로 먼저 선언해야 한다 -->
<%-- <c:set var="변수명" value="값" scope="영역"/> --%>
<%-- <c:set var="변수명" [scope="영역"]>값</c:set> --%>
<h3>OPTION</h3>
<ul>
<li>var : el 태그에서 호출할 이름</li>
<li>value : 이때 보여줄 값</li>
<li>scope : 저장 영역(page, request, session, application 지정 안하면 page가 기본값이다)</li>
</ul>
<!-- value 속성 -->
<c:set var="name1" value="test" scope="page"/>
<c:set var="name2" value="${sessionScope.myId}"/>
<c:set var="name3" value="${sessionScope.myId}${sessionScope.uId}" scope="request"/>
<!-- 태그 몸체 -->
<c:set var="name4">test2</c:set>
<p>${name1}</p>
<p>${name2}</p>
<p>${name3}</p>
<p>${name4}</p>
<h3>속성 삭제</h3>
<%-- <c:remove var="변수명"/> --%>
<c:remove var="name3"/>
<p>${name1}</p>
<p>${name2}</p>
<p>${name3}</p>
<p>${name4}</p>
IF TAG
<ul>
<li>자바에서 if문과 비슷한 기능을 제공한다</li>
<li>c:if test="조건" var="변수명"</li>
<li>var 안에는 test 안의 조건 결과(true|false) 를 지정된 변수에 저장할 수 있다</li>
<li>c:if 에는 else 가 없다</li>
</ul>
<%if(true) { %>
스크립틀릿<br/>
항상 실행된다<br/>
<%} %>
<c:if test="true">
jstl<br/>
항상 실행된다<br/>
</c:if>
<c:set var="myId">admin2</c:set>
<c:if test="${myId eq 'admin'}">
myId 는 admin 이 맞습니다<br/>
</c:if>
<c:if test="${myId ne 'admin'}">
myId 는 admin 이 아닙니다<br/>
</c:if>
CHOOSE TAG
<%
String num = request.getParameter("num");
%>
<%-- <h1>SCRIPTLET <%=num %></h1>
<h1>EL_TAG ${param.num}</h1> --%>
<ul>
<li>자바에서 switch 구문과 비슷한 형태이다(조건문이 사용가능하다)</li>
<li>c:when 태그에 조건을 넣어서 실행하도록 한다(if)</li>
<li>c:otherwise 로 어떠한 조건에도 해당되지 않는 내용을 실행한다(else)</li>
</ul>
<!-- 파라미터의 값에 따른 메시지 출력 -->
<c:choose>
<c:when test="${param.num eq '0'}">파라미터 값은 0 입니다</c:when>
<c:when test="${param.num eq '1'}">파라미터 값은 1 입니다</c:when>
<c:when test="${param.num eq '2'}">파라미터 값은 2 입니다</c:when>
<c:otherwise>파라미터 값은 0~2 사이에 있어야 합니다 </c:otherwise>
</c:choose>
FOTEACH
<ul>
<li>forEach는 향상된 for문과 비슷하다</li>
<li>c:forEach var="변수" items="컬렉션" begin="시작값" end="끝값" step="증가값"</li>
<li>item 속성에는 array, collection, map 등이 올 수 있다</li>
</ul>
<!-- 일반적인 for문 처럼 쓸 수 있다 -->
<c:forEach var="i" begin="1" end="10" step="1">
${i}
</c:forEach><hr/>
<!-- sports 배열에 있는 모든 값을 출력하기 -->
<c:forEach var="i" items="<%=sports %>" varStatus="stat">
${stat.index}:${i}<br/>
</c:forEach><hr/>
<!-- sports 배열에 있는 1,2,3번 인덱스 출력 -->
<c:forEach var="item" items="<%=sports %>" varStatus="stat" begin="1" end="3" step="1">
${stat.index}:${item}<br/>
</c:forEach><hr/>
<!-- map 에 있는 모든 내용 출력하기 -->
<c:forEach var="item" items="<%=map %>">
${item.key}:${item.value}<br/>
</c:forEach>