참고: http://www.struts2.org/struts2-control-tags-using-iterator-tag/

<table>
    <s:iterator value="serviceTypeList" id="serviceTypeInfo" status="cust_stat">
    <tr bgcolor="<s:if test="#cust_stat.odd==true">grey</s:if><s:else>white</s:else>">
        <td>serviceType</td>
        <td><s:property value="serviceType"/></td>
    </tr>
    </s:iterator>
</table>

value -> list
id -> 루프 돌 때의 현재 object
status -> 상태값.(짝수/홀수 등등)

위의 결과는 다음.

serviceType s1
serviceType s2
serviceType s3


추가.


id false
false String Deprecated. Use 'var' instead
란다.

<s:iterator value="serviceTypeList" status="stat" var="serviceTypeInfo">
<s:if test="{#temp.isSelected.equals('Y')}" >
위는 위에서 말한 id 대신 var 사용한 것이고, var 사용하면 Stack Context에 들어가서 #key로 참조 가능하다. <s:debug/>로 확인가능.

그리고 iterator 안에서 if 태그 사용하기 예제. 찾기 힘들었다...

ps. if 태그에서 test="{}" 괄호 빼먹지 말 것!!!

추가2.

if tag 사용법이 좀 헷갈리네.
<s:if test="%{true}"> -> 항상 참
<s:if test='%{#serviceTypeInfo.isSelected == "Y"}' > -> 문자열 비교 시 사용. 'Y' 랑은 다르니 조심할 것
<s:if test='%{isSelected == "Y"}' > -> 위랑 같다. iterator 안에서는 #serviceTypeInfo 처럼 강제로 밸류스택을 안 찾아도 되는건가?

추가3.
<s:if test='%{status.equalsIgnoreCase("R")}'>준비중</s:if>
위의 것도 잘 된다. equals도 잘 될 듯. 비교 대상이 문자열("")인가 문자('')인가를 헷갈리지 말 것

'프로그래밍 > Framework' 카테고리의 다른 글

[iBatis] queryForMap() 사용법  (0) 2009.04.21
[iBatis] iterate 사용법  (1) 2009.04.13
[iBatis] 동적쿼리에서 ORDER BY 하기  (0) 2009.04.13
[iBatis] 동적쿼리문 생성  (0) 2009.04.13
[Struts2] <s:select> 사용법  (0) 2009.04.10