728x90
반응형
SMALL
JSTL로 forEach문을 돌릴 경우가 많이 있다.
이 경우에 많은 속성이 있는데, 헷갈릴때가 많아 기록해놓는다.
* 속성!!!
items : forEach가 순회할 Collection 개체를 지정한다.
begin : 반복문의 시작값을 설정한다.
end : 반복문의 종료값을 설정한다.
step : 반복문의 증가값을 설정한다.
var : 반복문의 순회시 해당하는 값을 담을 변수를 설정한다.
varStatus : 변수의 상태를 담을 변수를 설정한다.
varStatus :
예 )<c:forEach items="${LIST}" var="item" varStatus="status"> 선언 후
----
${status.current} : 현재 아이템
${status.index} : 0부터의 순서
${status.count} : 1부터의 순서
${status.first} : 현재 루프가 처음인지 반환
${status.last} : 현재 루프가 마지막인지 반환
${status.begin} : 시작값
${status.end} : 끝값
${status.step} : 증가값
* index, count의 시작점 헷갈리지 말 것~
기본적으로 forEach는 begin 과 end 속성만 설정해주면 동작을 하게 되어 있다.
그 외 속성은 추가적인 옵션이라고..
물론 이 두 부분만 설정됬을때는 세부적인 제어가 불가능 하고 당연하지만 step은 기본값으로 1이 작용한다.
그것 역시 조정가능하고.
<!-- 이런식으로 찍어볼수도있고.. -->
<c:forEach begin="1" end="9">
<c:out value="DEER forEach" /><br>
</c:forEach>
<!-- 대체적으로 이런식으로 많이 쓸 것이다. -->
<c:forEach items="${ list }" var="item">
${item.VALUE1}, ${item.VALUE2}
</c:forEach>
<!-- begin 속성과 end 속성을 통해 시작값과 종료값을 지정하면
자바의 for문과 마찬가지로 증가값을 지정해 줄 수 있다. -->
<c:forEach begin="1" end="9" step="2">
//이런식으로 돌리면 1,3,5,7,9 번째 value만 나올것
</c:forEach>
<!-- var속성은 반복문의 시작값 + 증가값을 변수에 담아둘 수 있는 속성이다. -->
<c:forEach begin="1" end="9" step="2" var="x">
<c:out value="${ x } : foreach" /><br>
//이런식으로 확인해 볼 수 있다.
</c:forEach>
<!-- varStatus 속성은 var 속성을 통해 변수에 담은 반복문의 값의 상태를 담고있는 변수를
지정가능하다. 예를 들자면 step은 얼마인지, begin은 몇부터 시작해서 end는 얼마인지,
현재가 첫번째인지 마지막인지 하는등을 변수에 담아둘 수 있다. -->
<c:forEach begin="1" end="9" step="2" var="x" varStatus="status">
//소스에서 사용한 first는 변수가 첫값인가를 부울값으로 반환.
<c:out value="${ x } : foreach : ${ status.first }" /><br>
<c:if test="${ status.first}">
// 첫번째이면 Do Something..
</c:if>
</c:forEach>
728x90
반응형
LIST
'Web&Spring' 카테고리의 다른 글
java.sql.SQLException: ORA-00911: 문자가 부적합합니다 (0) | 2020.11.25 |
---|---|
The project cannot be built until its prerequisite PokerGameEngine is built. Cleaning and ... (0) | 2020.11.25 |
Tomcat POST 값이 넘어가지 않을때 (0) | 2020.11.25 |
java.sql.SQLException: ORA-01013: 사용자가 현재 작업의 취소를 요청했습니다. (0) | 2020.11.25 |
javax.servlet.http.HttpServlet cannot resolve ... 문제 해결법 (0) | 2020.11.25 |