Struts遍历标签<s:iterator>总结

简介:
  struts2的s:iterator可以遍历 数据栈里面的任何数组,集合等等 以下几个简单的demo:

s:iterator 标签有3个属性:

value被迭代的集合

id集合里面的元素的id,可以和var属性替换

status迭代元素的索引

 

1:jsp页面定义元素写法数组或list

<s:iterator value="{'1','2','3','4','5'}" id='n'>
    <s:property value='n'/>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'}" 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对象
遍历写法如下:
<s:iterator value="map" id="id" status="st">
     key : <s:property value='key'/>
     value:<s:property vlaue='value'/>
</s:iterator>
当然key 和value 都可以使java 的 Object

 

4:遍历数据栈.简单的List类

datas是定义在Action中的一个List

<s:iterator value="datas" var="student" status="st">
 <tr align="center">
  <td>
   <s:property value="#student.id" />
  </td>
  <td>
   <s:property value="#student.name" />
  </td>
  <td>
   <s:date name="#student.birth" fomart="yyyy/MM/dd hh:mm:ss"/>
  </td>
 </tr>
</s:iterator>

 

5:遍历2个list 

datas和classlist是定义在Action中的List

<s:iterator value="datas" var="student" status="st">
 <tr align="center">
  <td>
   <s:property value="#student.id" />
  </td>
  <td>
   <s:property value="#student.name" />
  </td>
  <td>
   <s:date value="#student.birth" fomart="yyyy/MM/dd hh:mm:ss"/>
  </td>
  <td>
   <s:property value="classlist[#st.index].classname"/>
  </td>
 </tr>
</s:iterator>

</s:iterator>

 

原帖地址:http://www.blogjava.net/Reg/archive/2009/11/20/303085.html

目录
相关文章
|
2月前
|
JavaScript 前端开发 索引
JS中常用的数组迭代方法(filter,forEach,map,every,some,find,findIndex)
这段代码和说明介绍了JavaScript中数组的一些常用方法。函数接收三个参数:`item`(数组项的值)、`index`(项的位置,可选)和`array`(数组本身,可选)。示例展示了如何使用`filter()`过滤非空项、`forEach()`遍历数组、`map()`处理并返回新数组、`every()`检查所有元素是否满足条件、`some()`检查是否存在满足条件的元素、`find()`获取首个符合条件的元素值以及`findIndex()`获取其索引位置。这些方法都不会修改原数组。
JS中常用的数组迭代方法(filter,forEach,map,every,some,find,findIndex)
|
JavaScript 索引
vue 数组处理= 循环--查找过滤--添加删除--去重[.every()/.some()/.find()/.filter()/.forEach()/.map()]
vue 数组处理= 循环--查找过滤--添加删除--去重[.every()/.some()/.find()/.filter()/.forEach()/.map()]
274 0
vue 数组处理= 循环--查找过滤--添加删除--去重[.every()/.some()/.find()/.filter()/.forEach()/.map()]
|
存储 前端开发 数据库
飘乙己:List转Tree有4种写法!
飘乙己:List转Tree有4种写法!
103 1
常见遍历方法 for循环、forEach、map、filter、find、findIndex、some、every
常见遍历方法 for循环、forEach、map、filter、find、findIndex、some、every
169 0
|
JavaScript 索引
js 数组遍历方法详解(map、filter、find、findIndex、reduce)
js 数组遍历方法详解(map、filter、find、findIndex、reduce)
|
Java
JSP中使用<c:forEach>标签循环遍历元素
JSP中使用<c:forEach>标签循环遍历元素
614 0
|
Java 索引
使用 forEachIndexed 带下标遍历 list;这样我们可以使用 forEach 来修改 list 的元素了
使用 forEachIndexed 带下标遍历 list;这样我们可以使用 forEach 来修改 list 的元素了 《Kotlin极简教程》正式上架: 点击这里 > 去京东商城购买阅读 点击这里 > 去天猫商城购买阅读 非常感谢您亲爱的读者,大家请多支持!!!有任何问题,欢迎随时与我交流~ import java.
1635 0