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标签详解

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

  2. Struts2标签库常用标签(转)

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

  3. Struts2标签 逻辑标签和UI标签

    效果如下图: 先配置struts.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE s ...

  4. Struts2框架--学习笔记(下):OGNL表达式、值栈操作、拦截器、struts2标签、文件上传

    一.OGNL概述:OGNL是一种表达式 (1)在struts2中操作值栈数据. (2)一般把ognl在struts2中操作,和struts2标签一起使用操作值栈. (3)ognl不是strut2的一部 ...

  5. Struts2标签库整理【完整】

    转自:https://blog.csdn.net/chen_zw/article/details/8161230   Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,str ...

  6. Struts2 标签库

    Struts 2标签简介 Struts 标签分类 使用Struts标签库 OGNL OGNL集合运算 OGNL表达式对静态属性的访问 控制标签 if/else if/else iterator gen ...

  7. java struts2标签库 常用标签

    基本概述 对于一个MVC框架而言,重点是实现两部分:业务逻辑控制器部分和视图页面部分.Struts2作为一个优秀的MVC框架,也把重点放在了这两部分上.控制器主要由Action来提供支持,而视图则是由 ...

  8. Struts2标签库和OGNL

    学习内容 Struts 2标签库 OGNL 能力目标 熟练使用Struts 2常用标签 熟练使用OGNL 本章简介 前面我们编写的案例使用的都是HTML标签,这些标签并不能很好的与Struts 2框架 ...

  9. struts2标签处理下拉列表

    在处理修改问题时,需要选中原有的选项,可以用Struts2标签的的<s:iterator>来迭代找出相匹配的那项. 如: <select id="c_type" ...

最新文章

  1. 语音通话框架_教资公告还没出,普通话测试又要改革?
  2. windows平台oracle无法调度,windows 2003+Legato networker+oracle 9i (框架)
  3. C++三五法则,看看你能不能理解(推荐)
  4. Sublime Text 2 支持GB2312和GBK
  5. 计划得一步一步实施,题库首先是第一步!
  6. [10] ADB 修改设置
  7. [转]解决mySQL占用内存超大问题
  8. 在树莓派上搭建gitea
  9. 新建网站的长尾词应该如何去做优化
  10. DDD领域驱动设计 思维导图
  11. CAD中怎么在线缆上输入或删除文字?
  12. javascript编写1加到100函数
  13. 支付宝api全(支付宝支付(app,h5,js),支付宝订单查询,支付宝退款,支付宝交易退款查询,支付宝提现,支付宝提现查询)
  14. 最新TIOBE编程语言排行:C语言第一,Python反超Java,挤进第二
  15. HDU - 4311 Meeting point-1(最小曼哈顿距离和)
  16. 硅谷火爆的云原生,你会玩吗?
  17. 国内沪深股市的股票策略分析的简单案例
  18. Win2003 Enterprise x64 Edition漏洞下载地址
  19. 关于MSP432单片机的吐槽【2021电赛A题】
  20. 正确的java语句,下面哪条Java语句可以正确输出“HelloJava!”?()

热门文章

  1. Centos firewall基本操作
  2. argparse.ArgumentParser
  3. python魔法方法详解
  4. 《CCNP ROUTE (642-902 )认证考试指南》一1.2 将考试主题与典型网络工程师的工作关联起来...
  5. 树型权限管理插件:jQuery Tree Multiselect详细使用指南
  6. HDU 1565 方格取数(1) ——插头DP
  7. zabbix自动发现实现批量监控docker状态
  8. 从“IBM刀片服务器广告告别电视”说起
  9. sql 语句中的 NULL值
  10. 最新GitHub新手使用教程(Linux/Ubuntu Git从安装到使用)——详细图解