'forEach'에 해당되는 글 3건

  1. 2020.11.25 [jstl] c:forEach 태그 속성
Web&Spring2020. 11. 25. 12:30

 

 

 

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>
Posted by 사슴영혼'-'