s:iterator的用法
truts2的s:iterator 可以遍历 数据栈里面的任何数组,集合等等以下几个简单的demo:
s:iterator 标签有3个属性:
value:被迭代的集合
id :指定集合里面的元素的id
status
迭代元素的索引
1:jsp页面定义元素写法 数组或list
<s:iterator value="{'1','2','3','4','5'}"
id='number'>
<s:property value='number'/>A
</s:iterator>
打印结果为: 1A2A3A4A5A
2:索引的用法
如果指定了status,每次的迭代数据都有IteratorStatus的实例,它有以下几个方法
<s:iterator 中的status 使用方法
1:#status.odd 当前元素索引是否奇数行
2:#status.even 当前元素索引是否偶数
行
3:#status.count 当前迭代了几个元素
4:#status.index
当前元素索引,从0开始『#status.count=#status.index+1』
5:#status.first 当前是否第一个元素
6:#status.last 当前是否最后一个元素
7:#status.modules(int)
当前行数取模
<s:iterator value="{'a','b','c'}"
id='char' status='st'>
<s:if test="#st.Even">
现在的索引是奇数为:<s:property
value='#st.index'/>
</s:if>
当前元素值:<s:property
value='char'/>
</s:iterator>
3:遍历map
value可以直接定义为:
value="#{"1":"a","2":"b"}"
每个元素以都好隔开。元素之间的key和value 冒号隔开
value也可以是数据栈里面的java.util.Map对象
遍历写法如下:
<s:iterator value="map" id="id"
status="st">
key : <s:property value='key'/>
value:<s:property
vlaue='value'/>
</s:iterator>
当然key 和value 都可以使java 的 Object
3:遍历数据栈.简单的List类,
List<Attr>
class Attr{String attrName;String getAttrName(){return
"123";}}
<s:iterator value="label"
id="id">
<s:property value="#id.attrName"
/>
</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
<s:iterator value="%{attrN }"
id="id"
status="status">
index is :
<s:property
value='status.index'/>
attrName is : <s:property
value='id'/> or <s:property
value='%{id}'/>
attrName is : <s:property
value='%{attrV[#status.index]}'/>
</s:iterator>
s:iterator的用法的更多相关文章
- C++ Iterator迭代器介绍及Iterator迭代器用法代码举例
C++ Iterator迭代器介绍 迭代器可被用来访问一个容器类的所包函的全部元素,其行为像一个指针.举一个例子,你可用一个迭代器来实现对vector容器中所含元素的遍历.有这么几种迭代器如下: 迭代 ...
- 条目二十八《正确理解由reverse_iterator的base()成员函数所产生的iterator的用法》
条目二十八<正确理解由reverse_iterator的base()成员函数所产生的iterator的用法> 迭代器的种类一共有四种,上面已经说过了.这里就不再次写出来. 这一个条目主要是 ...
- [转载]for、foreach、iterator的用法及效率区别
来源:https://www.jianshu.com/p/bbb220824c9a 1.在形式上 for的形式是 for(int i=0;i<arr.size();i++){...} forea ...
- ArrayList和Iterator的用法
import java.util.ArrayList; import java.util.Iterator; public class ArrayListTest { public static vo ...
- Iterator接口用法
1.所有实现Collection接口的容器类都有一个iteractor方法,用于返回一个实现了Iteractor接口的对象, 2.Iteractor对象成为迭代器,用以实现对容器内元素的遍历操作 3. ...
- [转]JAVA Iterator 的用法
java.util包中包含了一系列重要的集合类.本文将从分析源码入手,深入研究一个集合类的内部结构,以及遍历集合的迭代模式的源码实现内幕. 下面我们先简单讨论一个根接口Collection,然后分析一 ...
- 迭代Iterator的用法
迭代→遍历: 一个标准化遍历各类容器里面的所有对象的方法类(典型的设计模式) 把访问逻辑从不同类型的集合类中抽象出来,从而避免向客户端暴露集合的内部结构 迭代(Iterator)与枚举(Enumera ...
- 迭代器iterator
现在接着上篇的,写一来标识vector 的元素的对象迭代器iterator: 还是通过具体代码举例: 下面我讲了一个我暑期团队的故事哦~~: #include<iostream> #inc ...
- back_insert_iterator和iterator用起来不一样。
先看代码: #include<iostream> #include<vector> #include<algorithm> #include<iterator ...
随机推荐
- django系列6--Ajax01 特点, 基本格式, 向前端发送数据
一.Ajax了解 AJAX(Asynchronous Javascript And XML)优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容 优点: 1.ajax使用Java ...
- PHP设计超级好用的文件上传处理类一 (37)
<?php class FileUpload { private $filepath; //指定上传文件保存的路径 private $allowtype=array('gif', 'jpg', ...
- OCP考试题库更新,052最新考题及答案整理-第8题
8.Which two are true about the Fast Recovery Area (FRA)? A) It should be larger than the database. B ...
- python list 嵌套 dict 按照字典中的单个key进行单级排序 或 按照多个键进行多级排序
student = [{"no": 1,"score": 90},{"no": 2,"score": 90},{&quo ...
- jmeter+ant+jenkins+mac报告优化(一):解决Min Time和Max Time显示NaN
一.在上篇博客中生成的报告有两个问题: 1.date not defined 2.Min Time和Max Time显示成了NaN 二.Jmeter+Ant报告生成原理: 1.在Jmeter的extr ...
- [JS] js 判断用户是否在浏览当前页面
var hiddenProperty = 'hidden' in document ? 'hidden' : 'webkitHidden' in document ? 'webkitHidden' : ...
- Python Socket 编程示例 Echo Server
简评:我们已经从「Python Socket 编程概览」了解了 socket API 的概述以及客户端和服务器的通信方式,接下来让我们创建第一个客户端和服务器,我们将从一个简单的实现开始,服务器将简单 ...
- 集合之五:Set接口(答案)
package com.shsxt.homework; import java.util.ArrayList; import java.util.Collection; import java.uti ...
- spark持久化
spark持久化:cache .persist.checkpoint 一.cache持久化 cache实际上是persist的一种简化方式,是一种懒执行的,执行action类算子才会触发,cahce后 ...
- 用Jquery获取Url的参数
在网上找的一个办法 //先写一个方法 function GetUrlString(name) { var reg = new RegExp("(^|&)"+ name +& ...