`
LeeYee
  • 浏览: 70074 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

struts2中iterator标签的相关使用

阅读更多

在说明s:iterator标签的使用前,先了解下struts2中的Value Stack。这里参考了webwork中对Value Stack的描述,由于struts2是在webwork的基础上进行升级的,因此webwork对于Value Stack的表述同样适用于struts2。在这里不描述Value Stack具体做什么,但有两点需要注意:

  1. 一个value stack本质上是一个List;
  2. 在栈中调用[n]将返回一个从位置n开始的子栈;

对于2举个例子说明。假定Value Stack包含了[model,action,others],那么

  1. [0] --- 返回 [model,action,others];
  2. [1] --- 返回 [action,others];
  3. [2] --- 返回 [others];

现在将开始介绍s:iterator的一些使用。以下代码片段均在开发环境eclipse3.4 wtp、tomcat5.5、jdk5上使用struts2.1.6测试通过。

1)、访问 days

defined List<String> days ["Monday","Thursday","Friday","Sunday"]

2)、使用top 关键字使用(过滤掉Monday)

defined List<String> days ["Monday","Thursday","Friday","Sunday"]

  • top 指代当前迭代元素,可以为对象;
  • 这里的top可用[0].top替代,但不能使用[0]。[0]代表整个栈对象。如果单纯调用[0]将会调用其toString()方法输出对象信息;

3)、使用 last / first 关键字

defined String[][] aTs = { { "一", "二", "三", "四" },{ "一一", "二二", "三三", "四四"} };


 

  • iterator 标签中的status属性代表当前迭代的位置;
  • #of.last用于判断当前迭代到的元素是否为最后一个元素;
  • last返回一个boolean类型;
  • first返回一个boolean类型;

4)、使用 odd / even 关键字

下面的例子要实现每行输出颜色不同的效果。

defined List<String> days ["Monday","Thursday","Friday","Sunday"]

  • odd关键字用来判断当前迭代位置是否为奇数行。odd返回boolean类型;
  • even关键字用来判断当前迭代位置是否为偶数行。even返回boolean类型

5)、总结下,当声明iterator的status属性时,通过#statusName.method可以使用以下方法:

  • even : boolean - 如果当前迭代位置是偶数返回true
  • odd : boolean - 如果当前迭代位置是奇数返回true
  • count : int - 返回当前迭代位置的计数(从1开始)
  • index : int - 返回当前迭代位置的编号(从0开始)
  • first : boolean - 如果当前迭代位置是第一位时返回true
  • last : boolean - 如果当前迭代位置是最后一位时返回true
  • modulus(operand : int) : int - 返回当前计数(从1开始)与指定操作数的模数

6)、最后再来看下在iterator中调用value stack的用法。

假定countries是一个List对象,每一个country有一个name属性和一个citys List对象,并且每一个city也有一个name属性。那么我们想要在迭代citys时访问所属country的name属性就的用如下方式:

  • 这里的 <ww:property value="name"/>取的是ctiy.name;<ww:property value="[1].name"/>取得是country.name
  • <ww:property value="[1].name"/> 等价于 <ww:property value="[1].top.name"/>
  • we refer to a specific position on the stack: '[1]'. The top of the stack, position 0, contains the current city, pushed on by the inner iterator; position 1 contains the current country, pushed there by the outer iterator.(city处于当前栈,即top或者[0],而[1]指明了外层iterator对象,即country)
  • '[n]'标记引用开始位置为n的子栈(sub-stack),而不仅仅是位置n处的对象。因此'[0]'代表整个栈,而'[1]'是除top对象外所有的栈元素。
分享到:
评论

相关推荐

    struts2中iterator 标签的使用详解

    struts2中iterator 标签的使用详解

    struts2 标签iterator使用

    struts2 标签iterator使用我自己试过的

    struts2 iterator标签遍历二维数组

    其实只有一点struts2 iterator标签遍历二维数组

    struts2中siterator 标签的使用详解 及 OGNL用法

    struts2中siterator 标签的使用详解 及 OGNL用法 struts2中siterator 标签的使用详解 及 OGNL用法

    iterator嵌套,struts2

    struts2 中标签的使用 这段时间学习用struts2来开发网站,其中对一些struts2的标签在实际操作上有一些体会。 一.关于iterator迭代集合对象的问题:

    Struts2 iterator 标签遍历 Map,List,数组(三十六)

    NULL 博文链接:https://takeme.iteye.com/blog/1663239

    struts2标签之列求和

    可对struts2 标签如&lt;iterator&gt;等相应列进行求和.

    struts2标签详解

    struts2标签详解 Iterator

    Struts2标签库

    &lt;%@ taglib uri="/struts-tags" prefix="s" %&gt; 结合例子,重点掌握以下标签的用法 (1) (2) (3) &lt;s:if&gt; 、、 (4) &lt;s:iterator&gt; (5) (6) 、 (7) 、、、 (8) 、、&lt;s:checkboxlist&gt;

    struts2讲义_吴峻申

    1.4 Web项目中使用Struts2初探 20 第2章 Web基础技术简介 31 2.1 B/S和C/S系统区别 31 2.2 JSP和Servlet介绍 32 2.3 XML知识介绍 34 第3章 Struts2核心技术 37 3.1 使用web.xml配置Struts2实现Web项目Struts2应用 37...

    Struts2通用标签用法示例

    主要介绍Strus2中的通用标签,主要有, , , , , , &lt;s:iterator&gt;, , , 等几个标签的具体用法,希望能对大家有帮助。

    Struts2常用标签总结

    该文档 主要描述struts2 常用的一些标签 帮助 对struts标签存在 疑惑的朋友更好更迅速的了解和学习

    struts2标签技术

    生成一个简单的iterator,并且使用iterator标签打印出内容。 ,bbb,ccc,ddd,eee'}"&gt; &lt;s:iterator&gt; &lt;s:property /&gt;&lt;br/&gt; &lt;/s:iterator&gt; 例2: 生成一个iterator,使用count属性。因为count属性值为3,所以只有前...

    Struts2 in action中文版

    9.1 为什么在Struts 2中使用Spring 196 9.1.1 依赖注入能做些什么 197 9.1.2 Spring如何管理对象和注入依赖 199 9.1.3 使用接口隐藏实现 200 9.2 将Spring添加到Struts 2 202 9.2.1 让Spring管理动作、拦截器和结果...

    struts2 标签库 帮助文档

    Struts 2 标签库(文档手册) Tags-API-CLSW-JSP &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt; 就能使用struts2.0的标签库 下面就介绍每个标签的具体应用实例说明:按字母排列 A: 1. 2. &lt;s:a href=""&gt;&lt;/s:a&gt;-...

    struts2 web 开发标签

    web开发struts2标签 &lt;s:property&gt;&lt;/s:property&gt; &lt;s:iterator&gt;&lt;/s:iterator&gt;

    struts与jsp 使用方法

    在action里面写了方法获取一个list,再将这个list的值放到jsp页面中显示出来,用的是&lt;s:iterator&gt;标签。

    struts2常用标签

    主要用于将多个集合拼成一个新的集合。它只有一个id参数。 需要和param标签同时使用。 一搬情况下append标签使用过后,iterator标签会同时使用。

    深入浅出Struts2(附源码)

    本书是广受赞誉的Struts 2优秀教程,它全面而深入地阐述了Struts 2的各个特性,并指导开发人员如何根据遇到的问题对症下药,选择使用最合适的特性。作者处处从实战出发,在丰富的示例中直观地探讨了许多实用的技术,...

    struts2标签

    自己使用过的struts2标签总结 1. resList是action中的一个属性 &lt;s:iterator id="rs" value="resList" status="count" &gt; &lt;/s:iterator&gt; &lt;s:iterator id="pwd" value="#request.usePwdList" status="mIndex"&gt; ...

Global site tag (gtag.js) - Google Analytics