s:iterator 标签有3个属性:
value:被迭代的集合
id :指定集合里面的元素的id
status 迭代元素的索引
< s:iterator value="{'1','2','3','4','5'}" id='number'>
<s:property value='number'/>A
</ s:iterator>
打印结果为: 1A2A3A4A5A
< s:iterator value="{'a','b','c'}" id='char' status='st'>
<s:if test="#st.Even">
现在的索引是奇数为:<s:property value='#st.index'/>
</s:if>
当前元素值:<s:property value='char'/>
</ s:iterator>
3:遍历map
value可以直接定义为:
value:被迭代的集合
id :指定集合里面的元素的id
status 迭代元素的索引
1:jsp页面定义元素写法 数组或list
< s:iterator value="{'1','2','3','4','5'}" id='number'>
<s:property value='number'/>A
</ s:iterator>
打印结果为: 1A2A3A4A5A
2:索引的用法
如果指定了status,每次的迭代数据都有IteratorStatus的实例,它有以下几个方法
int getCount() 返回当前迭代了几个元素
int getIndex() 返回当前元素索引
boolean isEven() 当前迭代元素索引是否为偶数
如果指定了status,每次的迭代数据都有IteratorStatus的实例,它有以下几个方法
int getCount() 返回当前迭代了几个元素
int getIndex() 返回当前元素索引
boolean isEven() 当前迭代元素索引是否为偶数
boolean isOdd() 当前迭代元素索引是否为奇数
boolean isFirst() 当前是否第一个元素
boolean isLast() 当前元素是否是最后一个
boolean isLast() 当前元素是否是最后一个
st.modulus(2)==0 是否能被2整除
< s:iterator value="{'a','b','c'}" id='char' 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对象
遍历写法如下:
每个元素以都好隔开。元素之间的key和value 冒号隔开
value也可以是数据栈里面的java.util.Map对象
遍历写法如下:
<
s:iterator value="map" id="id" status="st">
key : <s:property value='key'/>
value:<s:property vlaue='value'/>
</ s:iterator>
当然key 和value 都可以使java 的 Object
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";}}
List<Attr>
class Attr{String attrName;String getAttrName(){return "123";}}
<
s:iterator value="label" id="id">
<s:property value="#id.attrName" />
</ s:iterator>
当然value 还可以写成 value="%{label}" label可以有.操作
label的属性List 可以写成value="%{label.list}" 相当于:getLabel().getList();
<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
List<AttrName> attrN {color,size,style}
List<AttrValue> attrV {red,20,gay}
这2个list的元素是一一对应的,一个attrN对应一个attrV
<
s:iterator value="%{attrN }" id="id" 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>
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>