struts2中s:iterator 标签的使用详解
来源:互联网 发布:gdi 高级编程 pdf 编辑:程序博客网 时间:2024/05/17 08:19
简单的demo
s:iterator 标签有3个属性:value:被迭代的集合
id :指定集合里面的元素的id
status 迭代元素的索引
1:jsp页面定义元素写法 数组或list
<s:iterator value="{'1','2','3','4','5'}" >
<s:property value='number'/>A
</s:iterator>
打印结果为: 1A2A3A4A5A
2:索引的用法
如果指定了status,每次的迭代数据都有IteratorStatus的实例,它有以下几个方法
int getCount()返回当前迭代了几个元素
int getIndex()返回当前元素索引
boolean isEven()当然的索引是否偶数
boolean isFirst()当前是否第一个元素
boolean isLast()
boolean isOdd()当前元素索引是否奇数
<s:iterator value="{'a','b','c'}" status='st'>
<s:if test="#st.Even">
现在的索引是奇数为:<s:property value='#st.index'/>
</s:if>
当前元素值:<s:property value='char'/>
</s:iterator>
3:遍历map
value可以直接定义为:
value="#{"1":"a","2":"b"}"
每个元素以都好隔开。元素之间的key和value 冒号隔开
value也可以是数据栈里面的Java.util.Map对象
遍历写法如下:
<s:iterator value="map" status="st">
key : <s:property value='key'/>
value:<s:property vlaue='value'/>
</s:iterator>
当然key 和value 都可以使java 的 Object
3:遍历数据栈.简单的List类,
List<Attr>
class Attr{String attrName;String getAttrName(){return "123";}}
<s:iterator value="label" >
<s:property value="#id.attrName" />
</s:iterator>
当然value 还可以写成 value="%{label}" label可以有.操作
label的属性List 可以写成value="%{label.list}" 相当于:getLabel().getList();
4:遍历2个list;
List<AttrName> attrN {color,size,style}
List<AttrValue> attrV {red,20,gay}
这2个list的元素是一一对应的,一个attrN对应一个attrV
<s:iterator value="%{attrN }" status="status">
index is : <s:property value='status.index'/>
attrName is : <s:property value='id'/> or <s:property value='%{id}'/>
attrName is : <s:property value='%{attrV[#status.index]}'/>
</s:iterator>
<s:bean >
<s:param value="5" />
<s:param value="10" />
<s:iterator>
counter:<s:property/>
</s:iterator>
</s:bean>
这个标签主要的的作用就是迭代出集合。。
value属性表示需要跌代显示出来的值。
status属性,又来保存迭代时的一些状态值。
注:
1.如果需要引用valueStack中的值,需要使用这样的形式。
<s:iterator value="#userList" /> //userList在action部分被保存在Request中,所以使用#加属性名来引用值。
2.如果集合的值是通过action的方法,假设我们的action中有一个getListMenu方法,返回一个List集合。
我们可以使用如下的形式来引用这个集合,并用s:iterator来输出。
<s:iterator value="listMenu" />
3.iterator的value使用定义好的方式,如:
<s:iterator value="{1,2,3,4}" /> //这样跌代输出的值就是1.2.3.4这四个值。
二、iterator中输出具体值
如果,在上面我们的list中的对象,有两个属性,都是String类型,一个是name,一个是url。
我们可以这样来引用。
1. <s:property value="name" /> //这样我们将可以输出跌代对象的name属性值。
2. 如果我们希望使用<s:url />来将跳转过后的url进行处理,该如何来做?
<s:url value="%{url}"/> //%{}ognl的表达式,这样的值能够将url的值进行<s:url/>的处理
实际上就是转为绝对路径。这样,我们就可以对付一些因跳转换产生的路径问题。
原因:因为<s:iteratotr />以后,当前的对象应该就在ValueStack顶部了,这样当然的url实际上就是对象的url 属性了
转自:http://blog.csdn.net/leaderway/article/details/52387950 作为积累
- struts2中s:iterator 标签的使用详解
- struts2中s:iterator 标签的使用详解
- Struts2中s:iterator标签的使用详解
- struts2中s:iterator 标签的使用详解
- Struts2中s:iterator标签的使用详解
- struts2中s:iterator 标签的使用详解
- struts2中s:iterator 标签的使用详解
- Struts2中<s:iterator></s:iterator>标签的使用:
- struts2中s:iterator 标签的使用详解 及 OGNL用法
- struts2中s:iterator 标签的使用详解 及 OGNL用法 (转载)
- struts2中s:iterator 标签的使用详解 及 OGNL用法
- .struts2中s:iterator 标签的使用详解 及 OGNL用法
- struts2中s:iterator 标签的使用详解 及 OGNL用法
- struts2中s:iterator 标签的使用详解 及 OGNL用法
- Struts2标签<s:iterator>中使用Map
- struts2的s:iterator 标签 详解
- struts2的s:iterator 标签 详解
- struts2的s:iterator 标签 详解
- Simple String Problem FZU
- Ubuntu install mysql-connector-java for java to connect MySQL database
- 2017"百度之星"程序设计大赛
- MySQL的数据库和数据表的简单操作
- 2017 多校训练第四场 HDU 6069 Counting Divisors
- struts2中s:iterator 标签的使用详解
- 权限的设计
- 2017"百度之星"程序设计大赛
- 最新解决方法:安装Discuz! X3.2/3.3模板插件提示对不起,您安装的不是正版应用
- JSP内置对象
- HDU.1846 Brave Game (博弈论 巴什博弈)
- build-tools\21.1.1\aapt.exe'' finished with non-zero exit value 1
- eclipse雕虫小技一:eclipse打开文件目录
- shell学习七-----通过取串长度压测命令执行时间