s:iterator的用法
转自:http://blog.sina.com.cn/s/blog_5bd6b451010130if.html
struts2的s:iterator 可以遍历 数据栈里面的任何数组,集合等等以下几个简单的demo:
s:iterator 标签有3个属性:
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的实例,它有以下几个方法
<s:iterator 中的status 使用方法
1:#status.odd 当前元素索引是否奇数行
2:#status.even 当前元素索引是否偶数
行
3:#status.count 当前迭代了几个元素
4:#status.index 当前元素索引,从0开始『#status.count=#status.index+1』
5:#status.first 当前是否第一个元素
6:#status.last 当前是否最后一个元素
7:#status.modules(int) 当前行数取模
<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
3:遍历数据栈.简单的List类,
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();
4:遍历2个list;
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>
s:iterator的用法相关推荐
- boost::iterator::permutation_iterator用法的测试程序
boost::iterator::permutation_iterator用法的测试程序 实现功能 C++实现代码 实现功能 boost::iterator::permutation_iterator ...
- boost::iterator的用法测试实例
boost::core模块boost::iterator的用法测试实例 实现功能 C++实现代码 实现功能 boost::core模块boost::iterator的用法测试实例 C++实现代码 #i ...
- STL迭代器(iterator)用法详解
C++ STL迭代器(iterator)用法详解 无论是序列容器还是关联容器,最常做的操作无疑是遍历容器中存储的元素,而实现此操作,多数情况会选用"迭代器(iterator)"来实 ...
- 迭代器Iterator的用法
迭代器Iterator的用法 和枚举一样,表示一些对象的集合,主要用于对数组进行遍历,定义如下: package java.util; public interface Iterator { bool ...
- C++迭代器(iterator)用法
C++迭代器(iterator)用法 1.简述 迭代器是一种检查容器内元素并遍历元素的数据类型 2.vector示例 //将vector的元素值全部修改为2 vector<int> v(1 ...
- Iterator 的用法
今天在看别人程序时看到 Iterator 在程序中用法,感觉自己对这个Iterator 好像不知道似的,确实也不太清楚,平时写程序也没有用过,到网上查了下它的用法,感觉也不是很很难,做过笔记.以前可以 ...
- iterator的用法 | reverse_iterator的封装实现
进阶C++__STL__容器list使用方法[简单易懂]https://blog.csdn.net/qq_61386381/article/details/125922910 进阶C++__STL__ ...
- mysql迭代器_迭代器是什么,C++ STL迭代器(iterator)用法详解
无论是序列容器还是关联容器,最常做的操作无疑是遍历容器中存储的元素,而实现此操作,多数情况会选用"迭代器(iterator)"来实现.那么,迭代器到底是什么呢? 我们知道,尽管不同 ...
- java it_Java中的Iterator的用法
Iterator(迭代器) 迭代器是一种设计模式,它是一个对象,可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常器被称为"轻量级"对象,因为创建它的代价 ...
最新文章
- Druid数据库连接池超时问题com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 1000, active 10
- python selenium --调用js
- 【转】JS windows.open()详解
- codechef LEMOVIE dp
- 30条值得程序员借鉴的好习惯
- ubuntu 14.04 开机进入字符界面
- python怎么处理数据标注_在python中将数据标记为敏感
- 人工智能语言python实验报告_【报名】人工智能语言Python启蒙课程(五六年级)...
- git:Failed to connect to github.com port 443:.....
- WebSocket+HTML5实现在线聊天室
- 前端-----今日份小练习
- Eclipse中,使用Darkest主题,static方法在main中不是斜体的解决办法
- win10+黑苹果双系统教程教程
- (二)动态白盒测试(含逻辑覆盖例子)
- 浏览器网页无法打开麦克风、摄像头
- PyQt5-在窗口上绘制文本 QPainter
- Java正则表达式的使用
- Leetcode刷题笔记——剑指offer II (六)【图】
- 微信开发者工具:代码更新后页面未刷新
- 华为p10 android几,是运行速度最快的安卓手机? 华为P10
热门文章
- 大学计算机科学的内容,本科读宾夕法尼亚大学计算机科学专业学什么内容?
- php导入Excel表格接口
- LeetCode——1947. 最大兼容性评分和(Maximum Compatibility Score Sum)[中等]——分析及代码(Java)
- c语言最大值函数调用
- 是计算机主机与显示器之间的接口,显示器连接电脑的线是什么线_连接电脑显示器和主机的线是什么线-win7之家...
- 子串查询(子序列查询)
- 各大企业连连出现亏损,环保行业何去何从?
- ucore进程上下文切换关键代码分析
- java--随机验证码的生成(4个随机英文与1个数字)
- 网络平台常用实名认证接口介绍