1. forEach
for문과 동일한 기능을 구사한다.
c:forEach var="index" begin="시작" end="종료" step="증가"
사용방법1)
- 1 2 3 연속되게 출력하기
<c:forEach var="i" begin="1" end="3" step="1">
${i }
</c:forEach>
사용방법2)
- 같은 jsp페이지 안에서 String배열 출력하기
<%String[] movieList={"코코", "알라딘", "라이온킹", "뮬란", "겨울왕국", "frozen2"};
pageContext.setAttribute("movieList", movieList);
%>
<c:forEach var="movie" items="${movieList }">
${movie }
</c:forEach>
▶ 향상된 for문과 비슷한 느낌을 가지고 있다.
사용방법3)
- ArrayList 출력하기
<%
ArrayList<String> movieList2 = new ArrayList<>();
movieList2.add(new String("잘했어"));
movieList2.add(new String("금요일"));
movieList2.add(new String("감기꺼져"));
movieList2.add(new String("제발"));
pageContext.setAttribute("list", movieList2);
%>
<h4>ArrayList로 뽑기</h4>
<table class="table table-striped">
<caption>ARRAYLIST 뽑기</caption>
<thead>
<tr>
<th scope="col">index</th>
<th scope="col">count</th>
<th scope="col">영화이름 대기</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${list }" varStatus="status">
<tr>
<td>${status.index }</td>
<td>${status.count }</td>
<td> ${list }</td>
</tr>
</c:forEach>
▶index: 처음 시작값을 가진다. (=begin값)
▶count: 1부터 시작하고, 1씩 증가하는 값을 가진다.
▶varStatus는 선언한 var의 상태를 확인할 수 있다.
status.index
stauts.count
status.first
status.last
status.end
status.begin
위 사진에서 tr태그에 style이 들어가 있는데, 이건 좋지 않은 표현방식이다.
다만 현재 CSS를 주로 배우지 않아서 일시적으로 글자색을 경우에 따라 바꾸기 위해 사용하였다.
(choose문 연습을 위한)
<c:forEach var="cnt" varStatus="status" begin="7" end="10" step="1">
<tr>
<td>${status.index}</td>
<td>${status.count }</td>
<td> ${cnt }</td>
</tr>
</c:forEach>
▶여기에서 index의 시작값은 begin값인 7이다
▶count는 동일하게 1부터 시작하고 1씩 증가한다.
forEach에서, step은 0이하(<=0)의 값을 가질 수 없고, 정수만을 사용할 수 있다. (실수X)
따라서, 5, 4, 3, 2, 1 같은 반복문은 varStatus를 잘 활용할 수 있다.
사용방법)
-c:set은 사용하지 않아도 되는데 까먹을까봐 따로 변수 선언을 해보았다..ㅎㅎ
'배운 내용 정리 > WEB' 카테고리의 다른 글
[학습정리] 2020.02.11 - JSTL(functions) (3) | 2020.02.12 |
---|---|
[학습정리] 2020.02.03 - EL, frontController, EL절대경로 (0) | 2020.02.03 |
[학습정리] 2020.01.30 - JSTL (0) | 2020.01.31 |
[학습정리] 2020.01.29 - EL 연습 (0) | 2020.01.30 |
[학습정리] 2020.01.28 - EL, DBCP 호스팅 (0) | 2020.01.29 |