본문 바로가기
프로그램 (PHP,Python)

스트럿츠2(Struts2) 태그의 iterator

by 날으는물고기 2010. 3. 8.

스트럿츠2(Struts2) 태그의 iterator

Generic태그 - Control태그 - iterator

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를 생성해서 들어간다.

다음 예를 보자. %{members}는 액션의 members 프라퍼티이다. List타입에 "kim","lee","park"가 들어 있다.

<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

728x90

댓글