JAVA & JSP & JSTL
<%@taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<h1>Java Standard Tag Library</h1>
<c:forEach var="i" begin="0" end="4">
<p>
Hello JSTL <strong>${i}</strong>
</p>
</c:forEach>
Hello JSTL 0
Hello JSTL 1
Hello JSTL 2
Hello JSTL 3
Hello JSTL 4
<%for(int i=0; i<5; i++) {%>
<p>
Hello JSTL <strong><%=i%></strong>
</p>
<%} %>
⭐ uri="import 할 경로"
prefix="접두어"
<%@taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
<%
// 테스트를 위해 sample 데이터를 request scope 에 담는다
List<String> names = new ArrayList<>();
names.add("유재석");
names.add("박명수");
names.add("정준하");
// "list" 라는 키값으로 request scope 에 ArrayList 객체 담아두기
request.setAttribute("list", names);
%>
➜ <% %> : 서블릿 영역
<%
// request scope 에 "list" 라는 키값으로 저장된 친구 목록 얻어내기
List<String> list = (List<String>)request.getAttribute("list");
%>
<h1>친구 목록</h1>
<ul>
<%for(String tmp : list) {%>
<li><%=tmp%></li>
<%} %>
</ul>
<h1>EL 과 JSTL 을 활용해서 위와 동일한 동작</h1>
<ul>
<c:forEach var="tmp" items="${requestScope.list}">
<li>${tmp}</li>
</c:forEach>
</ul>
<h1>친구 목록 인덱스 표시</h1>
<ul>
<c:forEach var="tmp" items="${list}" varStatus="status">
<li>${tmp} <strong>인덱스 : ${status.index}</strong></li>
</c:forEach>
</ul>
<h1>친구 목록 순서 표시</h1>
<ul>
<c:forEach var="tmp" items="${list}" varStatus="status">
<li>${tmp} <strong>순서 : ${status.count}</strong></li>
</c:forEach>
</ul>
<h1>친구 목록 첫번째 순서인지 여부</h1>
<ul>
<c:forEach var="tmp" items="${list}" varStatus="status">
<li>
${tmp}
<strong>첫번째 : ${status.first}</strong>
<c:if test="${status.first}">
미남이시네요
</c:if>
</li>
</c:forEach>
</ul>
<h1>친구 목록 마지막 번째 순서인지 여부</h1>
<ul>
<c:forEach var="tmp" items="${list}" varStatus="status">
<li>
${tmp}
<strong>마지막 번째 : ${status.last}</strong>
<c:if test="${status.last}">
하이킥.. 하이킥..
</c:if>
</li>
</c:forEach>
</ul>