在使用Struts2的标签时务必加入
<%@taglib uri="/struts-tag" prefix="s" %>
1、iterator标签的使用:
主要用于迭代输出Collection接口下的实现类如(List、Set、Map、数组等)
属性名称 | 功能描述 |
value | 通过OGNL表达式指定一个迭代的集合对象,如果未指定该属性则从ValueStack栈顶的集合 |
id | 指定每次迭代的引用 |
status | 指定每次迭代状态的引用 int getCount():返回目前为止共迭代输出过的元素个数 int getIndex():返回当前迭代元素的索引号,从0开始 boolean isEven():返回当前迭代的索引号是否为偶数 boolean isOdd():返回当前迭代的索引号是否为奇数 boolean isFirst():返回当前迭代的元素是否为第一个元素 boolean isLast():返回当前迭代的元素是否为最后一个元素 |
struts.xml文件:
<struts>
<package name="struts2tag" namespace="/tag" extends="struts-default">
<action name="showAction" class="DataContainer.TagShow" method="iterator">
<result name="success">/WEB-INF/page/result.jsp</result>
</action>
</package>
</struts>
result.jsp文件:
<body>
<h3>用法一:使用iterator标签迭代输出list实例。</h3>
<s:iterator value="demoList" id="row" status="st">
<s:property value="#st.count"/>、<s:property value="row"/>
<s:if test="#st.odd">(奇数行)</s:if>
<s:else>(偶数行)</s:else><br/>
</s:iterator>
<h3>用法二:使用iterator标签迭代输出set实例。</h3>
<s:iterator value="hashSet" id="row" status="st">
<s:property value="#st.Index"/>、<s:property value="row"/>
<br/>
</s:iterator>
<h3>用法三:使用iterator标签迭代输出treeset实例。</h3>
<s:iterator value="treeSet" id="row" status="st">
<s:property value="#st.Index"/>、<s:property value="row"/>
<br/>
</s:iterator>
<h3>用法四:使用iterator标签迭代输出hashmap实例。</h3>
<s:iterator value="demoMap" id="row" status="st">
<s:property value="#st.Index"/>、key=<s:property value="key"/>
value=<s:property value="value"/>
<br/>
</s:iterator>
</body>
TagShow文件:
public class TagShow {
private ArrayList<String> demoList;
private HashSet<String> hashSet;
private TreeSet<String> treeSet;
private HashMap<String,String> demoMap;
public ArrayList<String> getDemoList() {
return demoList;
}
public void setDemoList(ArrayList<String> demoList) {
this.demoList = demoList;
}
public HashSet<String> getHashSet() {
return hashSet;
}
public void setHashSet(HashSet<String> hashSet) {
this.hashSet = hashSet;
}
public TreeSet<String> getTreeSet() {
return treeSet;
}
public void setTreeSet(TreeSet<String> treeSet) {
this.treeSet = treeSet;
}
public HashMap<String, String> getDemoMap() {
return demoMap;
}
public void setDemoMap(HashMap<String, String> demoMap) {
this.demoMap = demoMap;
}
public String iterator(){
demoList = new ArrayList<String>();
for(int i = 0;i < 4;i++){
demoList.add("这是list中的第"+i+"个字符串.");
}
hashSet = new HashSet<String>();
for(int i = 0;i < 4;i++){
hashSet.add("这是hashset中的第"+i+"个字符串.");
}
treeSet = new TreeSet<String>();
for(int i = 0;i < 4;i++){
treeSet.add("这是treeset中的第"+i+"个字符串.");
}
demoMap = new HashMap<String,String>();
for(int i = 0;i < 4;i++){
demoMap.put("key"+i, "key"+i+"对应的字符串.");
}
return "success";
}
}
输出: