Struts2 の s:iterator は、データ スタック内の任意の配列、コレクションなどを走査できます。以下の簡単なデモは次のとおりです:
s:iterator タグには 3 つの属性があります:
value: 反復されるコレクション
id: 内部指定されたコレクション 要素の ID
ステータス 要素のインデックスを反復します
1: 配列またはリストを書き込む JSP ページ定義要素
Html コード
<s:iterator value="{'1','2','3','4','5'}" id='number'> <s:property value='number'/>A </s:iterator>
出力結果は次のとおりです: 1A2A3A4A5A
2 : インデックスの使用法
ステータスが指定されている場合、各反復データには IteratorStatus のインスタンスがあり、次のメソッドがあります
int getCount() は現在反復されている要素の数を返します
int getIndex() は現在の要素のインデックスを返します
boolean isEven( ) もちろん、インデックスが偶数かどうか
boolean isFirst() 現在の最初の要素がどうか
boolean isLast()
boolean isOdd() 現在の要素のインデックスが奇数かどうか
HTML コード
<s:iterator value="{'a','b','c'}" id='char' status='st'> <s:if test="#st.Even"> 现在的索引是奇数为:<s:property value='#st.index'/> </s:if> 当前元素值:<s:property value='char'/> </s:iterator>
3: トラバース マップ
の値は次のように直接定義できます:
value="#{"1":"a","2":"b"}"
各要素は で区切られます。要素間のキーと値はコロンで区切られ、値はデータ スタック内の java.util.Map オブジェクトにすることもできます。 Java の Object
3: データ スタックを走査します。 :
List
<s:iterator value="map" id="id" status="st"> key : <s:property value='key'/> value:<s:property vlaue='value'/> </s:iterator>
class Attr{ String attrName; String getAttrName(){ return "123"; } }
label 属性 List。 value="%{label.list}" として記述できます。これは次と同等です: getLabel().getList();
Js コード
<s:iterator value="label" id="id"> <s:property value="#id.attrName" /> </s:iterator>
List<AttrName> attrN {color,size,style} List<AttrValue> attrV {red,20,gay}