struts logic:iterate标签用法
iterate标记
id 脚本变量的名称,它保存着集合中当前元素的句柄。
name 代表了你需要叠代的集合,来自session或者request的属性。
type 是其中的集合类元素的类型
bean 的write标记是用来将属性输出的,name用来匹配iterate的id,property用来匹配相应类的属 性<logic:iterate>用法详解<login:iterate>标记用于在页面中创建一个循环,以此来遍历如数组、Collection、Map这样的对象。该标 记的功能强大,在Struts应用的页面中经常使用到。
1、对数组进行循环遍历
使用<logic:iterate>标记可以用于遍历数组,以下是一段示例代码:
程序代码<%
String[] testArray={"str1","str2","str3"};
pageContext.setAttribute("test",testArray);
%>
<logic:iterate id="show" name="test">
<bean:write name="show"/>
</logic:iterate>
在上面的代码中,首先定义了一个字符串数组,并为其初始化。接着,将该数组存入pageContext对象中,命名为test1。然后使 用<logic:iterate>标记的name属性指定了该数组,并使用id来引用它,同时使用<bean:write>标记 来将其显示出来。其结果为:
str1
str2
str3
另外,还可以通过length属性来指定输出元素的个数。如下面的代码:
程序代码<logic:iterate id="show" name="test" length="2" offset="1">
<bean:write name="show"/>
</logic:iterate>
其中length属性指定了输出元素的个数,offset属性指定了从第几个元素开始输出,如此处为1,则表示从第二个元素开始输出。所以该代码的运行结果应当输出:
str2
str3
另外,该标记还有一个indexId属性,它指定一个变量存放当前集合中正被访问的元素的序号,如:
程序代码<logic:iterate id="show" name="test" length="2" offset="1" indexId="number">
<bean:write name="number"/>:<bean:write name="show"/>
</logic:iterate>
其显示结果为:
1:str2
2:str3
2、对HashMap进行循环遍历
程序代码<%
HashMap countries=new HashMap();
countries.put("country1","中国");
countries.put("country2","美国");
countries.put("country3","英国");
countries.put("country4","法国");
countries.put("country5","德国");
pageContext.setAttribute("countries",countries);
%>
<logic:iterate id="country" name="countries">
<bean:write name="country" property="key"/>:
<bean:write name="country" property="value"/>
</logic:iterate>
在bean:write中通过property的key和value分别获得HaspMap对象的键和值。其显示结果为:
country5:德国
country3:英国
country2:美国
country4:法国
country1:中国
由结果可看出,它并未按添加的顺序将其显示出来。这是因为HaspMap是无序存放的。
3、嵌套遍历
程序代码<%
String[] colors={"red","green","blue"};
String[] countries1={"中国","美国","法国"};
String[] persons={"乔丹","布什","克林顿"};
ArrayList list2=new ArrayList();
list2.add(colors);
list2.add(countries1);
list2.add(persons);
pageContext.setAttribute("list2",list2);
%>
<logic:iterate id="first" name="list2" indexId="numberfirst">
<bean:write name="numberfirst"/>
<logic:iterate id="second" name="first">
<bean:write name="second"/>
</logic:iterate>
<br>
</logic:iterate>
运行效果:
0 red green blue
1 中国 美国 法国
2 乔丹 布什 克林顿 [/size][/size][/color][/color]
只是想要做个笔记,想起来的时候自己可以查看。
原博客:http://island-yin.iteye.com/blog/659717
struts logic:iterate标签用法相关推荐
- struts的logic:empty,logic:notEmpty,logic:iterate,bean:write标签
1. logic:empty标签判断脚本变量是否为null,是否是一个空的字符串(长度为0),是否是一个空的collection或map(调用isEmpty()方法来判断).logic:notEmpt ...
- (五)struts之taglib标签
关于taglib的标签使用,我倒是不太喜欢,本人更倾向于使用JSTL的标签,不过struts标签一点好处就是:struts标签 能够和struts-config.xml, ActionForm等特有的 ...
- html页面视频标签,html5基础标签(html5视频标签 html5新标签用法)
点评:html5基础,包括html5视频标签和html5新标签等标签用法,大家参考使用吧 1. 声明的变化 2. 指定字符编码的变化,html5中建议使用utf-8 3. Html5中允许 没有 ...
- struts配置文件没有标签提示
2019独角兽企业重金招聘Python工程师标准>>> struts配置文件没有标签提示 原因:" http://struts.apache.org/dtds/struts ...
- logic:equal 标签的使用(转)
<logic:equal name="music" property="distrubute" value="true"> ...
- H5 新标签用法及解释
HTML 5 是一个新的网络标准,目标在于取代现有的 HTML 4.01, XHTML 1.0 and DOM Level 2 HTML 标准.它希望能够减少浏览器对于需要插件的丰富性网络应用服务(p ...
- input type=range标签用法实例代码
在HTML5中,又新增许多新<input>控件类型,比较实用的一个就是<input type="range">,以滑竿的方式来调整value值,在这以前需要 ...
- JAVA中的break[标签]continue[标签]用法
原文:JAVA中的break[标签]continue[标签]用法 注意:JAVA中的标签必须放在循环之前,且中间不能有其他语句.例如:tag:for或while或do--while; 1.使用brea ...
- VTK:颜色顶点标签用法实战
VTK:颜色顶点标签用法实战 程序输出 程序完整源代码 程序输出 程序完整源代码 #include <vtkCamera.h> #include <vtkDataSetAttribu ...
最新文章
- 杭电 2111 Saving HDU (贪心)
- ASP.Net请求小周期
- ADO.NET2.0的十大新特性
- 爬虫批量下载全站小说并自动保存
- 结构型模式--装饰模式
- [UE4.4.x] 虚幻4 安卓打包
- Google金山词霸体验小记
- PAIP HTML的调试与分析工具
- Qt--优秀开源项目
- Linux中ffmpeg批量压缩音频
- 服务器 运行时错误怎么办,内部服务器错误怎么办
- python除法程序_Python中的除法
- 以实例分析 IGP中更新源检测失败丢弃路由更新包
- 度秘语音引擎app_「资源」9个(实时)语音转文字APP分享(推荐收藏)
- Liferay登陆提示认证失败!
- OSChina 周二乱弹 ——不许抽烟了,不然就分手!
- WPS 如何设置表格内文字段落
- idea 公共方法抽取快捷键
- JavaScript实现拖动滑块验证(方法已封装)
- python中迭代是什么意思_Python中的“迭代”详解