struts2中迭代的使用方法
struts2
- <s:iterator value="resultList" id="user" status="st">
- <tr>
- <td><input type="checkbox"></td>
- <td><s:property value="#user.username"/></td>
- <td><s:property value="#user.password"/></td>
- <td><s:property value="#user.sex"/></td>
- <td><s:property value="#user.age"/></td>
- <td><s:property value="#user.email"/></td>
- <td><s:property value="#user.address"/></td>
- </tr>
- </s:iterator>
- <s:iterator value="resultList" id="user" status="st">
- <tr>
- <td><input type="checkbox"></td>
- <td><s:property value="#user.username"/></td>
- <td><s:property value="#user.password"/></td>
- <td><s:property value="#user.sex"/></td>
- <td><s:property value="#user.age"/></td>
- <td><s:property value="#user.email"/></td>
- <td><s:property value="#user.address"/></td>
- </tr>
- </s:iterator>
1. value属性:可选的属性,value属性是指一个被迭代的集合,使用ognl表达式指定,假设为空的话默认就是ValueStack栈顶的集合.
2.id属性:可选属性, 是指集合元素的id
3.status属性:可选属性,该属性在迭代时会产生一个IteratorStatus对象,该对象能够推断当前元素的位置,包括了下面属性方法:
int getCount(); 迭代元素个数
int getIndex(); 迭代元素当前索引
boolean getFirst(); 是否为第一个
boolean getEven(); 是否为偶
boolean getLast(); 是否最后一个
bolean getOdd(); 是否为奇
因为iteratorstatus对象并非ognl的根对象因此訪问须要加上 #訪问例如以下样例:
- <s:iterator value=”{’dd’,'bb’,'cc’}” status=”st”>
- <s:if test=”#st.odd”>
- <s:property value=”#st.index”/>
- </s:if>
- </s:iterator>
- <s:iterator value=”{’dd’,'bb’,'cc’}” status=”st”>
- <s:if test=”#st.odd”>
- <s:property value=”#st.index”/>
- </s:if>
- </s:iterator>
此外:iterator也能够迭代map对象,map对象中有几对key-value 就迭代几次,分别使用
- <s:property value=”key”/>
- <s:property value=”value”/>
输出就可以.
案比例如以下(WebWork标签):实现奇偶行不同颜色显示
JSP中结果集显演示样例如以下:
- <s:iterator value="resultList" status="status">
- <tr class="<s:if
test="#status.even">row-even</s:if><s:else>row-odd</s:else>"> - <td>
- <s:property value=""/>
- </td>
- </tr>
- </s:iterator>
- <s:iterator value="resultList" status="status">
- <tr class="<s:if test="#status.even">row-even</s:if><s:else>row-odd</s:else>">
- <td>
- <s:property value=""/>
- </td>
- </tr>
- </s:iterator>
样式表能够參考:
.row-even{background-color:#def7c2;}
.row-odd{background-color:#c8e7a6;}
除了使用#status.even推断是否偶数行外,还有其它几个属性能够使用:
#status.odd 是否奇数行
#status.count 当前行数
#status.index 当前行的序号。从0開始[#status.count=#status.index+1]
#status.first 是否第一行
#status.last 是否最后一行
#status.modules(int) 当前行数取模
struts2中迭代的使用方法的更多相关文章
- 详解struts2中配置action的方法
如何解决action太多的问题??我们因为需要不同的方法,所以往往建立很多不同的类,但是每个类中往往仅仅几行代码,不仅浪费了时间,而且配置起来也很繁琐,所以,建立一个共有的类,然后根据以下方式来操作, ...
- Java中迭代Map的方法
Map<String, String> mapServlet = new HashMap<String, String>(); System.out.println(" ...
- struts2中的jsp值传到后台action接收的三种方法
struts2中的Action接收表单传递过来的参数有3种方法: 如,登陆表单login.jsp: <form action="login" method="pos ...
- Struts2中动态方法的调用
Struts2中动态方法调用就是为了解决一个action对应多个请求的处理,以免action太多. 主要有一下三种方法:指定method属性.感叹号方式和通配符方式.推荐使用第三种方式. 1.指定me ...
- struts2中jsp前台传值到后台action的方法(转)
在Struts2中jsp前台传值到action后台的方法 分类: java2012-02-28 13:58 2171人阅读 评论(1) 收藏 举报 actionstrutsjspgetterstrin ...
- Struts2中Action取得表单数据的几种方法
Struts2中Action取得表单数据的几种方法 Struts2中Action获得表单数据的几种方法struts2 Action获取表单传值 1.通过属性驱动式JSP: <form act ...
- struts2 笔记01 登录、常用配置参数、Action访问Servlet API 和设置Action中对象的值、命名空间和乱码处理、Action中包含多个方法如何调用
Struts2登录 1. 需要注意:Struts2需要运行在JRE1.5及以上版本 2. 在web.xml配置文件中,配置StrutsPrepareAndExecuteFilter或FilterDis ...
- Struts2中的session、request、respsonse获取方法
个人对于struts有一种复杂的心情,平心而论,struts2是个人最早接触到的的框架,在学校的时候就已经开始学习了,大四毕业设计,无疑用的还是struct,那时候SSH还是很流行的,后来出来实习,直 ...
- Javascript中的迭代、归并方法
迭代方法 在Javascript中迭代方法个人觉得尤为重要,在很多时候都会有实际上的需求,javascript提供了5个迭代方法来供我们操作,它们分别为: every() 对数组中的每一个项运用给定的 ...
随机推荐
- python拼接
拼接: name=zhuhuan age=23 salary=333 info=''' ----- info of %s----- age:%s name:%s salary:%s %(name,ag ...
- jquery使用ajax传内容到asp.net乱码解决【转】
转自:http://www.cnblogs.com/qiantuwuliang/archive/2009/08/02/1537160.html#undefined Jquery强大的功能越来越收到广大 ...
- RESTful-rest_framework视图层-第三篇
图书管理系统: 实现图书接口的增.删.改.查 方式一:普通的方式 views配置: #Book的增.删.改.查接口 class BookSerializer(serializers.ModelSeri ...
- ACM-ICPC 2018 南京赛区网络预赛
轻轻松松也能拿到区域赛名额,CCPC真的好难 An Olympian Math Problem 问答 只看题面 54.76% 1000ms 65536K Alice, a student of g ...
- 习题:八数码难题(双向BFS)
八数码难题(wikioi1225) [题目描述] 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字.棋盘中留有一个空格,空格用0来表示.空格周围的棋子可以移到空格中.要求解的问题是:给出 ...
- Codeforces Round #440(Div.2)
一句话题意: A:给出两个长为\(n\),\(m\)的的数组,每个数在\(1\)到\(9\)之间,求出一个最小的数使得至少有一位出现在一个数组中,且至少有一位出现在另一个数组中.\(n,m\leq9\ ...
- vue-router 页面切换后保持在页面顶部而不是保持原先的滚动位置的办法
vue-router有提供一个方法scrollBehavior,它可以使切换到新路由时,想要页面滚到顶部,或者是保持原先的滚动位置,就像重新加载页面那样. 这个功能只在 HTML5 history 模 ...
- 股票交易(bzoj 1855)
Description 最近lxhgww又迷上了投资股票,通过一段时间的观察和学习,他总结出了股票行情的一些规律. 通过一段时间的观察,lxhgww预测到了未来T天内某只股票的走势,第i天的股票买入价 ...
- CF126B password&&HDU 4763 Theme Section
http://acm.hdu.edu.cn/showproblem.php?pid=4763 http://codeforces.com/problemset/problem/126/B 这两个题都是 ...
- 延迟加载技术 jquery lazyload
原文发布时间为:2011-01-17 -- 来源于本人的百度文章 [由搬家工具导入] 文章: http://www.appelsiini.net/projects/lazyload 下载地址:htt ...
