Der s:iterator von Struts2 kann jedes Array, jede Sammlung usw. im Datenstapel durchlaufen. Hier sind einige einfache Demos:
s:iterator-Tag hat 3 Attribute:
Wert: Der Sammlung wird iteriert
id: Geben Sie die ID des Elements in der Sammlung an
Status Der Index des iterierten Elements
1: JSP-Seitendefinitionselement, das Array oder Liste schreibt
Html-Code
<s:iterator value="{'1','2','3','4','5'}" id='number'> <s:property value='number'/>A </s:iterator>
Das Druckergebnis ist: 1A2A3A4A5A
2: Indexverwendung
Wenn Status angegeben ist, haben alle Iterationsdaten eine Instanz von IteratorStatus, die über die folgenden Methoden verfügt:
int getCount() gibt zurück, wie viele Elemente derzeit iteriert werden
int getIndex () Gibt den aktuellen Elementindex zurück
boolean isEven() Ob der aktuelle Elementindex gerade ist
boolean isFirst () Ob das aktuelle Element das erste Element ist
boolean isLast ()
boolean isOdd () Ob der aktuelle Elementindex ungerade ist
Html-Code
<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: Traverse-Karte
Wert kann direkt definiert werden als:
value="#{"1"a","2"b"}"
Jedes Element wird durch getrennt. Der Schlüssel und der Wert zwischen den Elementen werden durch Doppelpunkte getrennt
Der Wert kann auch das java.util.Map-Objekt im Datenstapel sein
Die Durchquerung wird wie folgt geschrieben:
Html-Code
<s:iterator value="map" id="id" status="st"> key : <s:property value='key'/> value:<s:property vlaue='value'/> </s:iterator>
Natürlich können sowohl Schlüssel als auch Wert Javas Objekt sein
3: Traverse the Datenstapel. Einfache Listenklasse:
List
Natürlich kann der Wert auch als value="%{label}" geschrieben werden und das Label kann zum Betrieb der Attributliste von
label als value="% geschrieben werden. {label.list}“, was äquivalent ist zu: getLabel().getList ();class Attr{ String attrName; String getAttrName(){ return "123"; } }
<s:iterator value="label" id="id"> <s:property value="#id.attrName" /> </s:iterator>
Die Elemente dieser beiden Listen stehen in einer Eins-zu-Eins-Entsprechung, ein attrN entspricht einem attrV
List<AttrName> attrN {color,size,style} List<AttrValue> attrV {red,20,gay}