转自http://flashdream8.iteye.com/blog/354809
在Struts中我们对有些标签的使用还不是怎么了解。我是不怎么了解的,尤其是在数据的遍历方面,有时候真的不知道那是为什么会那样,它代表的是什么意思。有时真的把人搞得很郁闷。
特此。在这里总结哈,让那些和我一样郁闷的人来清醒哈。在Struts中的数据遍历。它有对集合,Map,还有就是在HashMap中的每个元素的Value是集合对象遍历。接下来我们一起看看它是怎么遍历的。
第一种:在Struts标签中对集合的遍历。它比较简单,看它的代码实现。如下:
<%
Vector vector = new Vector();
//这是给Vector中添加数据
vector.addElement("Dog");
vector.addElement("Cat");
vector.addElement("Bird");
//这是把Vector中的数据放到Request范围中
request.setAttribute("Animals",vector);
%>
//它在遍历Vector中的每个元素时,每检索到一个元素,就
//把它命名为"element",并且把存放在 Pag范围中。
<logic:iterate id="element" name="Animals">
//这是它嵌套的标签,用于输出每个元素的内容。
<bean:write name="element"/>
</logic:iterate>
//这里特别要解释三个属性,indexId属性定义了一个代表
//当前遍历的元素的序列号,它存放在 pag 范围中。
//offset属性指定开始遍历元素的起始位置,默认值为
//“0”,Length属性就是要遍历集合中的多少个元素。
<logic:iterate id="element" name="Animals"
indexId="index" offset="1" length="2">
<bean:write name="index"/>
<bean:write name="element"/>
</logic:iterate>
第二种:在Struts标签中对Map的遍历。实现代码如下:
<%
HashMap map = new HashMap();
//给HashMap中以键值的方式添加数据
map.put("Jan","January");
map.put("Feb","February");
map.put("Mar","March");
//这里也是把HashMap中的数据放到Request范围中
request.setAttribute("months",map);
%>
<logic:iterate id="element" name="months"
indexId="index">
//这里输出的是它的系列号,键,值
<bean:write name="index"/>
<bean:write name="element" property="key"/>
<bean:write name="element"property="value"/>
</logic:iterate>
第三种:在Struts标签中对HashMap中的Value值是集合对象的遍历。这里用到了嵌套的<logic:iterate>标签。来看它的代码实现。如下:
<%
HashMap hm = new HashMap();
//这里定义了几个集合对象
String vegetables[] ={"pepper","cucumber"};
String fruits[] = {"apple","orange","banana"};
String flowers[] = {"rose","chrysanthemum"};
String trees[] = {"willow"};
//把上面定义的集合对象放到HashMap中。
hm.put("Vegetables",vegetables);
hm.put("Fruits",fruits);
hm.put("Flowers",flowers);
hm.put("Trees",trees);
//这里也和上面的一样,把它放在Request范围中
request.setAttribute("catalog",hm);
%>
<logic:iterate id="element" indexId="index"
name="catalog">
//这里输出的是系列号,键
<bean:write name="index"/>
<bean:write name="element" property="key"/><br>
//这里的Length,offset 属性请看上面的解释
<logic:iterate id="elementValue" name="element"
property="value" length="3" offset="1">
//这里输出值
<bean:write name="elementValue"/><br>
</logic:iterate>
</logic:iterate>
第四:说到着,我就顺便把在遍历的时候怎么设置变量说一哈。
1>设置name属性,name属性指定需要遍历的集合和Map。如下:
<logic:iterate id="element"name="要遍历的集合和
Map">
<bean:write name="element"/>
</logic:iterate>
2>设置name属性和property属性,name属性可以指定一个JavaBean,property属性指定JavaBean的一个属性,这个属性是需要遍历的集合和Map。如下:
<logic:iterate id="element"name="JavaBean"
property="JavaBean的属性">
//这里输出指定的属性
<bean:write name="element"/>
</logic:iterate>
3>设置collection属性,collection属性可以指定一个运行时表达式。表达式的运算结果为需要遍历的集合和Map。如下:
//这里需要注意的是在得数据的时候,要看它在那个存
//储范围内,下面就是在request范围中取数据。
<logic:iterate id="element" collection="<%request.getHeaderNames()%>">
//这里输出得到的值
<bean:write name="element"/>
</logic:iterate>
分享到:
相关推荐
常用的struts标签遍历方法,例如:读取JavaBean 中的数据,设置被遍历的变量
struts标签实现的遍历功能,用一个简单的小例子实现jsp页面的迭代遍历
struts_hibernate_spring登陆和遍历strust便签 我做的 小例子 可以运行
struts标签 • Bean Tags:该标签库包含的标签可以用来创建bean、访问bean和访问bean的属性。同时提供了依据cookies、headers和parameters的值创建相关bean的能力。 HTML Tags:该标签库包含的标签可以用来创建...
struts标签中文手册,struts标签中文手册,struts标签中文手册
struts_hibernate_spring登陆和遍历stust便签 我做的 小例子 可以运行的
Struts2标签库Struts2标签库Struts2标签库Struts2标签库Struts2标签库Struts2标签库
NULL 博文链接:https://takeme.iteye.com/blog/1663239
struts标签库struts标签库struts标签库struts标签库struts标签库struts标签库struts标签库struts标签库
详细讲解了遍历集合的方法,附加一些常用标签的使用方法。
NULL 博文链接:https://jinguanghui880602.iteye.com/blog/1637943
其实只有一点struts2 iterator标签遍历二维数组
struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签
struts标签中文文档 下载附件后把taglib1.war放在tomcat的webapps下,(或用其他应用服务器) 然后启动tomcat服务 在浏览器中输入http://localhost:8080/taglib1即可
struts2标签库struts2标签库struts2标签库struts2标签库
struts标签实现数据的查询修改
Struts标签 Struts标签Struts标签Struts标签Struts标签
可对struts2 标签如等相应列进行求和.