struts2 

Html代码  
  1. <s:iterator value="resultList" id="user" status="st"> 
  2.     <tr> 
  3.         <td><input type="checkbox"></td> 
  4.         <td><s:property value="#user.username"/></td> 
  5.         <td><s:property value="#user.password"/></td> 
  6.         <td><s:property value="#user.sex"/></td> 
  7.         <td><s:property value="#user.age"/></td> 
  8.         <td><s:property value="#user.email"/></td> 
  9.         <td><s:property value="#user.address"/></td> 
  10. </tr> 
  11. </s:iterator> 
[html] view
plain
 copy

  1. <s:iterator value="resultList" id="user" status="st">  
  2.     <tr>  
  3.         <td><input type="checkbox"></td>  
  4.         <td><s:property value="#user.username"/></td>  
  5.         <td><s:property value="#user.password"/></td>  
  6.         <td><s:property value="#user.sex"/></td>  
  7.         <td><s:property value="#user.age"/></td>  
  8.         <td><s:property value="#user.email"/></td>  
  9.         <td><s:property value="#user.address"/></td>  
  10. </tr>  
  11. </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的根对象因此訪问须要加上 #訪问例如以下样例: 

Html代码  
  1. <s:iterator value=”{’dd’,'bb’,'cc’}” status=”st”> 
  2.  
  3. <s:if test=”#st.odd”> 
  4.  
  5. <s:property value=”#st.index”/> 
  6.  
  7. </s:if> 
  8.  
  9. </s:iterator> 
[html] view
plain
 copy

  1. <s:iterator value=”{’dd’,'bb’,'cc’}” status=”st”>  
  2.   
  3. <s:if test=”#st.odd”>  
  4.   
  5. <s:property value=”#st.index”/>  
  6.   
  7. </s:if>  
  8.   
  9. </s:iterator>  

此外:iterator也能够迭代map对象,map对象中有几对key-value 就迭代几次,分别使用 

Html代码  
  1. <s:property value=”key”/> 
  2. <s:property value=”value”/> 
[html] view
plain
 copy

  1. <s:property value=”key”/>  
  2. <s:property value=”value”/>  

输出就可以. 

案比例如以下(WebWork标签):实现奇偶行不同颜色显示 

JSP中结果集显演示样例如以下: 

Html代码  
  1. <s:iterator value="resultList" status="status"> 
  2.  
  3. <tr class="<s:if
    test="#status.even">row-even</s:if><s:else>row-odd</s:else>"> 
  4.  
  5. <td> 
  6.  
  7. <s:property value=""/> 
  8.  
  9. </td> 
  10.  
  11. </tr> 
  12.  
  13. </s:iterator> 
[html] view
plain
 copy

  1. <s:iterator value="resultList" status="status">  
  2.   
  3. <tr class="<s:if test="#status.even">row-even</s:if><s:else>row-odd</s:else>">  
  4.   
  5. <td>  
  6.   
  7. <s:property value=""/>  
  8.   
  9. </td>  
  10.   
  11. </tr>  
  12.   
  13. </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中迭代的使用方法的更多相关文章

  1. 详解struts2中配置action的方法

    如何解决action太多的问题??我们因为需要不同的方法,所以往往建立很多不同的类,但是每个类中往往仅仅几行代码,不仅浪费了时间,而且配置起来也很繁琐,所以,建立一个共有的类,然后根据以下方式来操作, ...

  2. Java中迭代Map的方法

    Map<String, String> mapServlet = new HashMap<String, String>(); System.out.println(" ...

  3. struts2中的jsp值传到后台action接收的三种方法

    struts2中的Action接收表单传递过来的参数有3种方法: 如,登陆表单login.jsp: <form action="login" method="pos ...

  4. Struts2中动态方法的调用

    Struts2中动态方法调用就是为了解决一个action对应多个请求的处理,以免action太多. 主要有一下三种方法:指定method属性.感叹号方式和通配符方式.推荐使用第三种方式. 1.指定me ...

  5. struts2中jsp前台传值到后台action的方法(转)

    在Struts2中jsp前台传值到action后台的方法 分类: java2012-02-28 13:58 2171人阅读 评论(1) 收藏 举报 actionstrutsjspgetterstrin ...

  6. Struts2中Action取得表单数据的几种方法

    Struts2中Action取得表单数据的几种方法   Struts2中Action获得表单数据的几种方法struts2 Action获取表单传值 1.通过属性驱动式JSP: <form act ...

  7. struts2 笔记01 登录、常用配置参数、Action访问Servlet API 和设置Action中对象的值、命名空间和乱码处理、Action中包含多个方法如何调用

    Struts2登录 1. 需要注意:Struts2需要运行在JRE1.5及以上版本 2. 在web.xml配置文件中,配置StrutsPrepareAndExecuteFilter或FilterDis ...

  8. Struts2中的session、request、respsonse获取方法

    个人对于struts有一种复杂的心情,平心而论,struts2是个人最早接触到的的框架,在学校的时候就已经开始学习了,大四毕业设计,无疑用的还是struct,那时候SSH还是很流行的,后来出来实习,直 ...

  9. Javascript中的迭代、归并方法

    迭代方法 在Javascript中迭代方法个人觉得尤为重要,在很多时候都会有实际上的需求,javascript提供了5个迭代方法来供我们操作,它们分别为: every() 对数组中的每一个项运用给定的 ...

随机推荐

  1. [oldboy-django][2深入django]分页功能

    1 django自带分页 1.1 分页模板 <!DOCTYPE html> <html lang="en"> <head> <meta c ...

  2. Codeforces Round #440(Div.2)

    一句话题意: A:给出两个长为\(n\),\(m\)的的数组,每个数在\(1\)到\(9\)之间,求出一个最小的数使得至少有一位出现在一个数组中,且至少有一位出现在另一个数组中.\(n,m\leq9\ ...

  3. cocoapods的安装使用

    本文非原创,只是看了别人的教程,自己做了下笔记 转载cocoapods其他详细教程 mac快速安装 由于天朝的那堵墙的阻挡,我们需要用taobao的镜像 以下操作在终端进行 gem sources - ...

  4. IPFS

    http://www.r9it.com/20190412/ipfs-private-net.html IPFS指令集中文版(一) https://www.jianshu.com/p/ce74b32d2 ...

  5. Python 安装MySQLdb模块遇到报错及解决方案:_mysql.c(42) : fatal error C1083: Cannot open include file: 'config-win.h': No such file or directory

    一.问题 系统:win7 64位 在下载MySQL-python-1.2.5.zip,使用python setup.py install 安装时,出现以下报错: _mysql.c(42) : fata ...

  6. Python之时间:time模块

    import time   对于时间,使用最频繁的模块 1.获取当前时间 (1)时间戳 time.time() 时间戳:从1970年1月1日0点开始到现在按秒计算的偏移量 (2)时间元组 time.l ...

  7. 【16】vuex2.0 之 getter

    有的组件中获取到 store 中的state,  需要对进行加工才能使用,computed 属性中就需要写操作函数,如果有多个组件中都需要进行这个操作,那么在各个组件中都写相同的函数,那就非常麻烦,这 ...

  8. 1月24日考试(ftp密码)

    错因分析 ♦对文件的保存不够恰当,例如第一题和第三题的题目,我是真的很愤怒,第一题在我写了一个多小时,终于样例成功.可是当我再一次打开文件时,里面只有我最开始的代码,谁可以告诉我这是为什么(我绝对保存 ...

  9. 了解 Oracle Berkeley DB 可以为您的应用程序带来 NoSQL 优势的原因及方式。

    将 Oracle Berkeley DB 用作 NoSQL 数据存储 作者:Shashank Tiwari 2011 年 2 月发布 “NoSQL”是在开发人员.架构师甚至技术经理中新流行的一个词汇. ...

  10. linux 多进程绑定问题

    硬件中断发生频繁,是件很消耗 CPU 资源的事情,在多核 CPU 条件下如果有办法把大量硬件中断分配给不同的 CPU (core) 处理显然能很好的平衡性能.现在的服务器上动不动就是多 CPU 多核. ...