JSTL LOOP(forEach)
by 핫도구반응형
forEach 기본형식
Java의 forEach와 유사하다.
for(String s: student) {
out.print(s);
}
<%
String[] menu = { "hamburger", "kidO", "galbee", "coffee", "kimchi" };
pageContext.setAttribute("menuList", menu);
%>
<c:forEach var="menu" items="${pageScope.menuList}">
${menu},
</c:forEach>

varStatus 속성 활용
index, count, first, last
<table border="1" style="text-align: center; width: 100%;">
<tr>
<th>menu</th>
<th>index</th>
<th>count</th>
<th>first</th>
<th>last</th>
</tr>
<c:forEach var="menu" items="${pageScope.menuList }" varStatus="vs">
<tr>
<td>${menu}</td>
<td>${vs.index}</td>
<td>${vs.count}</td>
<td>${vs.first}</td>
<td>${vs.last}</td>
</tr>
</c:forEach>
</table>

varStatus 속성 연습
first, last : boolean type
for, if(또는 choose) 구문 모두 중첩 가능
과제
- first는 굵은 파랑으로 출력
- ul, li를 이용해서 출력하면서 menu뒤에 ',' 표시
- 단, 마지막에는 마침표를 표시하시오
<ul>
<c:forEach var="menu" items="${pageScope.menuList }" varStatus="vs">
<c:choose>
<c:when test="${vs.first == true }">
<li style="color:blue; font-weight:bold;">${menu}</li>
</c:when>
<c:when test="${vs.last == true }">
<li>${menu}.</li>
</c:when>
<c:otherwise>
<li>${menu}, </li>
</c:otherwise>
</c:choose>
</c:forEach>
</ul>

와 같은 결과를 도출할 수 있다.
반응형
'JAVA > OLD' 카테고리의 다른 글
| Collection_2_List (0) | 2025.02.11 |
|---|---|
| Collection_1 (0) | 2025.02.02 |
| JSTL_if, choose(조건분기) (0) | 2024.08.19 |
| JSTL_Basic (0) | 2024.08.19 |
| EL의 Parameter 활용 (0) | 2024.08.19 |
블로그의 정보
AquaMan
핫도구