struts2的s:iterator 可以遍历 数据栈里面的任何数组,集合等等 以下几个简单的demo:
s:iterator 标签有3个属性:
    value:被迭代的集合
    id   :指定集合里面的元素的id
    status 迭代元素的索引

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

  1. <s:iterator value="{'1','2','3','4','5'}" id='number'>
  2. <s:property value='number'/>A
  3. </s:iterator>

打印结果为:  1A2A3A4A5A

2:索引的用法
如果指定了status,每次的迭代数据都有IteratorStatus的实例,它有以下几个方法
int getCount()返回当前迭代了几个元素
int getIndex()返回当前元素索引
boolean isEven()当然的索引是否偶数
boolean isFirst()当前是否第一个元素
boolean isLast()
boolean isOdd()当前元素索引是否奇数

  1. <s:iterator value="{'a','b','c'}" id='char' status='st'>
  2. <s:if test="#st.Even">
  3. 现在的索引是奇数为:<s:property value='#st.index'/>
  4. </s:if>
  5. 当前元素值:<s:property value='char'/>
  6. </s:iterator>

3:遍历map
value可以直接定义为:

  1. value="#{"1":"a","2":"b"}"

每个元素以都好隔开。元素之间的key和value 冒号隔开
value也可以是数据栈里面的java.util.Map对象
遍历写法如下:

  1. <s:iterator value="map" id="id" status="st">
  2. key : <s:property value='key'/>
  3. value:<s:property vlaue='value'/>
  4. </s:iterator>

当然key 和value 都可以使java 的 Object

3:遍历数据栈.简单的List类,
List<Attr> 
class Attr{String attrName;String getAttrName(){return "123";}}

  1. <s:iterator value="label" id="id">
  2. <s:property value="#id.attrName" />
  3. </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

    1. <s:iterator value="%{attrN }" id="id"   status="status">
    2. index    is : <s:property value='status.index'/>
    3. attrName is : <s:property value='id'/> or <s:property value='%{id}'/>
    4. attrName is : <s:property value='%{attrV[#status.index]}'/>
    5. </s:iterator>

struts2 标签的使用之二 s:iterator的更多相关文章

  1. Struts2(十)OGNL标签二与Struts2标签

    一.Struts2标签的优势 标签库简化了用户对标签的使用 结合OGNL使用,对于集合.对象的访问功能非常强大 提供可扩展的主题.模板支持.极大简化了视图页面的编写 不依赖任何表现层技术 Struts ...

  2. 用struts2标签如何从数据库获取数据并在查询页面显示。最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量。

    最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变 ...

  3. Struts2标签简介

    Struts2标签简介 Struts2标签的优势 标签库简化了用户对标签的使用 结合OGNL使用,对于集合.对象的访问功能非常强大 提供可扩展的主题.模板支持,极大简化了视图页面的编写 不依赖任何表现 ...

  4. JSTL标签,EL表达式,OGNL表达式,struts2标签 汇总

    一下纯属个人总结摘抄,总结一起方便查看,解决疑问,有遗漏或错误,还请指出.       1,JSTL标签总结: a).JSTL标签有什么用?          JSTL是由JCP(Java Commu ...

  5. struts2标签详解

    struts2标签讲解 要使用Struts2的标签,只需要在JSP页面添加如下一行定义即可:<%@ taglib prefix="s" uri="/struts-t ...

  6. java开发--struts2 标签库使用

    在工程中使用struts2标签 一.struts2标签定义文件在struts2-core-2.0.11.1\META-INF 下面,文件名为struts-tags.tld 二.如果工程使用了servl ...

  7. struts2标签库----控制标签详解

         前面几篇文章我们介绍了有关struts2的基本内容,简单理解了整个框架的运作流程.从本篇开始我们逐渐了解和使用struts2为我们提供的标签库技术,使用这些标签可以大大降低我们表现层的开发难 ...

  8. JAVAEE——struts2_04:自定义拦截器、struts2标签、登陆功能和校验登陆拦截器的实现

    一.自定义拦截器 1.架构 2.拦截器创建 //拦截器:第一种创建方式 //拦截器生命周期:随项目的启动而创建,随项目关闭而销毁 public class MyInterceptor implemen ...

  9. struts2之OGNL和struts2标签库和ValueStack对象

    OGNL简介: (1)OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目.  struts2框架默认就支持Ognl表达式语言(所以 ...

随机推荐

  1. DOS批处理命令-if语句

    IF语句是批处理中执行的条件分歧处理. 批处理中,IF分歧的写法有好几种,接下来,我们来一个一个的分析IF语法的结构. 1.IF [NOT] ERRORLEVEL 番号 批处理命令 当ERRORLEV ...

  2. Jquery 模糊匹配ID

    [属性名称] 匹配包含给定属性的元素[att=value] 匹配包含给定属性的元素 (大小写区分)[att*=value] 模糊匹配[att!=value] 不能是这个值[att$=value] 结尾 ...

  3. 找不到System.Runtime.Serialization.Json的解决方案

    System.ServiceModel System.ServiceModel.Web System.Runtime.Serialization 三者均要添加引用

  4. jQuery中的getter和setter方法

    1.attr()方法是jQuery中用于HTML属性的getter/setter.一个相关函数是removeAttr(). 2.css()方法和attr()方法很类似,只是css()方法作用于元素的c ...

  5. 插件笔记——dataTables使用说明

    jquery DataTables中文使用说明 出处:http://blog.vunso.com/201405/jquery-datatables%E4%B8%AD%E6%96%87%E4%BD%BF ...

  6. JSON对象(自定义对象)

    JSON对象(自定义对象) 1.什么是JSON对象 JSON对象是属性的无序集合,在内存中也表现为一段连续的内存地址(堆内存) 1)JSON对象是属性的集合 2)这个集合是没有任何顺序的 2.JSON ...

  7. 【原】隐藏ultraGrid1指定列

    void uGrdAllFlight_InitializeRow(object sender, InitializeRowEventArgs e) { /***********TEST START** ...

  8. Object-C - 类的定义

    http://www.cnblogs.com/zhangweia/archive/2011/11/01/2231549.html 1. 文件分为.h:定义接口,及其属性,方法说明. .m :是实现类. ...

  9. PHP json_encode中日语问题

    <?php header('Content-type:text/html;charset=utf-8'); $s = array('message'=>'4月以降.遺体の捜索活動が続けられ ...

  10. Mysql 存储过程小例子

    创建存储过程: DELIMITER $$ USE `database_name`$$ DROP PROCEDURE IF EXISTS `add_or_update_user`$$ )) BEGIN ...