struts2 iterator标签
2014-01-06 10:12
316 查看
iterator标签主要是用于迭代输出集合元素,如list set map 数组等,在使用<s:iterator/>标签的时候有三个属性值得我们关注1. value属性:可选的属性,value属性是指一个被迭代的集合,使用ognl表达式指定,如果为空的话默认就是ValueStack栈顶的集合.
2.id属性:可选属性, 是指集合元素的id
3.status属性:可选属性,该属性在迭代时会产生一个IteratorStatus对象,该对象可以判断当前元素的位置,包含了以下属性方法:int getCount(); 迭代元素个数int getIndex(); 迭代元素当前索引boolean getFirst(); 是否为第一个boolean getEven(); 是否为偶boolean getLast(); 是否最后一个bolean getOdd(); 是否为奇由于iteratorstatus对象并不是ognl的根对象因此访问需要加上 #访问如下例子:<s:iterator value=”{’dd’,'bb’,'cc’}” status=”st”> <s:if test=”#st.odd”> <s:property value=”#st.index”/> </s:if></s:iterator> 此外:iterator也可以迭代map对象,map对象中有几对key-value 就迭代几次,分别使用
<s:property value=”key”/>
<s:property value=”value”/>示例:Action类:package com.demo.action;import java.util.*;import com.opensymphony.xwork2.ActionSupport;public class iteratorTag extends ActionSupport { private List myList; private Map myMap; public List getMyList() { return myList; } public void setMyList(List myList) { this.myList = myList; } public Map getMyMap() { return myMap; } public void setMyMap(Map myMap) { this.myMap = myMap; } public String execute() throws Exception{ myList=new ArrayList(); myList.add("第一个元素"); myList.add("第二个元素"); myList.add("第三个元素"); myMap=new HashMap(); myMap.put("key1", "第一个元素"); myMap.put("key2", "第二个元素"); myMap.put("key3", "第三个元素"); return SUCCESS; }}iteratorTags.jsp页面:<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib prefix="s" uri="/struts-tags" %><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>My JSP 'iteratorTags.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> ` <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> <title>Struts2 的 iterator 标签使用示例</title>
</head> <body> <h1><span style="background-color:#FFFFcc">iterator 标签示例</span></h1> <h2>显示List </h2> <table> <s:iterator value="{'第一个元素','第二个元素'}" status="st"> <tr> <td><s:property value="#st.getIndex()"/></td> <td><s:property/></td> </tr> </s:iterator> </table> <h2>显示List属性</h2> <table> <s:iterator value="myList" status="st"> <tr> <td><s:property value="#st.getIndex()"/></td> <td><s:property/></td> </tr> </s:iterator> </table> <h2>显示Map</h2> <table> <s:iterator value="#{'key':'第一个元素','key2':'第二个元素' }" status="st"> <tr> <td><s:property value="#st.getIndex()" /></td> <td><s:property /></td> </tr> </s:iterator> </table> <h2>显示Map属性</h2> <table> <s:iterator value="myMap" status="st"> <tr> <td><s:property value="#st.getIndex()"/></td> <td><s:property/></td> </tr> </s:iterator> </table> </body></html>http://localhost:8080/struts2/iteratorTag.action结果页面
2.id属性:可选属性, 是指集合元素的id
3.status属性:可选属性,该属性在迭代时会产生一个IteratorStatus对象,该对象可以判断当前元素的位置,包含了以下属性方法:int getCount(); 迭代元素个数int getIndex(); 迭代元素当前索引boolean getFirst(); 是否为第一个boolean getEven(); 是否为偶boolean getLast(); 是否最后一个bolean getOdd(); 是否为奇由于iteratorstatus对象并不是ognl的根对象因此访问需要加上 #访问如下例子:<s:iterator value=”{’dd’,'bb’,'cc’}” status=”st”> <s:if test=”#st.odd”> <s:property value=”#st.index”/> </s:if></s:iterator> 此外:iterator也可以迭代map对象,map对象中有几对key-value 就迭代几次,分别使用
<s:property value=”key”/>
<s:property value=”value”/>示例:Action类:package com.demo.action;import java.util.*;import com.opensymphony.xwork2.ActionSupport;public class iteratorTag extends ActionSupport { private List myList; private Map myMap; public List getMyList() { return myList; } public void setMyList(List myList) { this.myList = myList; } public Map getMyMap() { return myMap; } public void setMyMap(Map myMap) { this.myMap = myMap; } public String execute() throws Exception{ myList=new ArrayList(); myList.add("第一个元素"); myList.add("第二个元素"); myList.add("第三个元素"); myMap=new HashMap(); myMap.put("key1", "第一个元素"); myMap.put("key2", "第二个元素"); myMap.put("key3", "第三个元素"); return SUCCESS; }}iteratorTags.jsp页面:<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib prefix="s" uri="/struts-tags" %><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>My JSP 'iteratorTags.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> ` <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> <title>Struts2 的 iterator 标签使用示例</title>
</head> <body> <h1><span style="background-color:#FFFFcc">iterator 标签示例</span></h1> <h2>显示List </h2> <table> <s:iterator value="{'第一个元素','第二个元素'}" status="st"> <tr> <td><s:property value="#st.getIndex()"/></td> <td><s:property/></td> </tr> </s:iterator> </table> <h2>显示List属性</h2> <table> <s:iterator value="myList" status="st"> <tr> <td><s:property value="#st.getIndex()"/></td> <td><s:property/></td> </tr> </s:iterator> </table> <h2>显示Map</h2> <table> <s:iterator value="#{'key':'第一个元素','key2':'第二个元素' }" status="st"> <tr> <td><s:property value="#st.getIndex()" /></td> <td><s:property /></td> </tr> </s:iterator> </table> <h2>显示Map属性</h2> <table> <s:iterator value="myMap" status="st"> <tr> <td><s:property value="#st.getIndex()"/></td> <td><s:property/></td> </tr> </s:iterator> </table> </body></html>http://localhost:8080/struts2/iteratorTag.action结果页面
iterator 标签示例
显示List
0 | 第一个元素 |
1 | 第二个元素 |
显示List属性
0 | 第一个元素 |
1 | 第二个元素 |
2 | 第三个元素 |
显示Map
0 | key=第一个元素 |
1 | key2=第二个元素 |
显示Map属性
key3=第三个元素 |
key2=第二个元素 |
key1=第一个元素 |
相关文章推荐
- struts 迭代器iterator四种使用方式 S标签
- struts 几个标签用法 s:iterator的三种输出方式 对href自动符值
- Struts 2中<s:iterator>标签的用法
- Struts 2 <s:iterator>标签嵌套以及遍历双层List
- 如何从struts标签logic:iterator中取List中的对象的属性,并动态选择checkbox呢
- Struts标签-使用<s:iterator>标签遍历集合
- struts标签的迭代iterator取循环里对象的某个属性
- Struts标签中的多层logic:iterator详解(原创)
- Struts源码研究 - logic-Iterator标签篇
- Struts中iterator标签的使用
- Struts 2中if else iterator property标签的使用 .
- Struts遍历标签s:iterator总结
- Struts遍历标签<s:iterator>总结
- struts标签iterator遍历非属性数据
- struts 2标签之s:if 、s:iterator注意的问题
- Struts标签-使用<s:iterator>迭代遍历集合中的集合
- Struts标签iterator嵌套用法,及相关属性详解
- struts中iterator标签使用,用于空格的填充
- Struts2 iterator 标签遍历 Map,List,数组(三十六)
- struts iterator 标签的 indexId 属性