Java.iterator.collection, java.util.Iterator등을 반복한다.
반복할 때마다 status가 먼저 스택에 들어가고 상단에 value로 지정한 컬렉션 내의 오브젝트가 하나씩 스택의 상단에 들어간다.
기존 우리가 쓰는 제어문인 for, while문과 비슷하다.
iterator 태그의 속성들
name |
required |
type |
description |
id |
false |
String |
엘리먼트를 참조하기 위한 ID |
status |
false |
Boolean |
반복할때마다 IteratorStatus의 인스턴스가 스택에 들어간다. |
value |
false |
String |
반복할 수 있는 소스는 반복하고, 그렇지 않으면 새로 List를 생성해서 들어간다. |
<s:iterator value="%{members}" status="rowStatus">
<s:property value="#rowStatus.index" /> : <s:property>
<br/>
</s:iterator>
결과는 다음과 같다.
0 : kim
1 : lee
2 : park
status 속성값인 rowStatus는 org.apache.struts2.views.jsp.IteratorStatus 타입이 된다.
여기에는 여러 가지 반복 상태가 저장된다. IteratorStatus에는 다음과 같은 readable 프라퍼티(getter 메서드)들이 있다.
int getCount() : 컬렉션 내의 오브젝트의 개수
int getIndex() : 반복 인덱스. 0부터 시작한다.
boolean isEven() : 짝수 번째 여부
boolean isFirst() : 첫 번째 여부
boolean isLast() : 마지막 여부
boolean is Odd() : 홀수 번째 여부
출처 : http://cafe.naver.com/buldon
댓글