购物网站 缓存,金融培训网站源码,做影视网站对宽带要求,手机网站如何站点管理struts2的s#xff1a;iterator 可以遍历 数据栈里面的任何数组#xff0c;集合等等 以下几个简单的demo#xff1a;s:iterator 标签有3个属性#xff1a; value#xff1a;被迭代的集合 id #xff1a;指定集合里面的元素的id status 迭代元素的索引1:jsp… struts2的siterator 可以遍历 数据栈里面的任何数组集合等等 以下几个简单的demos:iterator 标签有3个属性 value被迭代的集合 id 指定集合里面的元素的id status 迭代元素的索引 1:jsp页面定义元素写法 数组或list s:iterator value{1,2,3,4,5} idnumber s:property valuenumber/A /s:iterator 打印结果为: 1A2A3A4A5A 2:索引的用法 如果指定了status每次的迭代数据都有IteratorStatus的实例它有以下几个方法 int getCount()返回当前迭代了几个元素 int getIndex()返回当前元素索引 boolean isEven()当然的索引是否偶数 boolean isFirst()当前是否第一个元素 boolean isLast() boolean isOdd()当前元素索引是否奇数 s:iterator value{a,b,c} idchar statusst s:if test#st.Even 现在的索引是奇数为:s:property value#st.index/ /s:if 当前元素值s:property valuechar/ /s:iterator 3遍历map value可以直接定义为 value#{1:a,2:b} 每个元素以都好隔开。元素之间的key和value 冒号隔开 value也可以是数据栈里面的java.util.Map对象 遍历写法如下 s:iterator valuemap idid statusst key : s:property valuekey/ value:s:property vlauevalue/ /s:iterator 当然key 和value 都可以使java 的 Object 3遍历数据栈.简单的List类 ListAttr class Attr{String attrName;String getAttrName(){return 123;}} s:iterator valuelabel idid s:property value#id.attrName / /s:iterator 当然value 还可以写成 value%{label} label可以有.操作 label的属性List 可以写成value%{label.list} 相当于getLabel().getList(); 4遍历2个list ListAttrName attrN {color,size,style} ListAttrValue attrV {red,20,gay} 这2个list的元素是一一对应的一个attrN对应一个attrV index is : s:property valuestatus.index/ attrName is : s:property valueid/ or s:property value%{id}/ attrName is : s:property value%{attrV[#status.index]}/ /s:iterator iterator 描述 用于遍历集合java.util.Collection或枚举值java.util.Iterator。 参数 必需 类型 page contentTypetext/html; charsetUTF-8% page import page import taglib prefix /struts-tags%!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN List list new ArrayList(); list.add(Max); list.add(Scott); list.add(Jeffry); list.add(Joe); list.add(Kelvin); request.setAttribute(names, list);html head titleIterator/title /head body h3Names: /h3 !-- 1、此处的空property元素用于获得当前iterator的值 2、status被设成stuts在iterator的里面就可以通过#stuts取得IteratorStatus的对象。IteratorStatus类包含当前序号信息如是否第一个或最后一个是否为奇数序号。这些信息在我们做格式化的时候显得非常有用。 -- ol s:iterator value#request.names statusstuts s:if test#stuts.odd true liWhite s:property //li /s:if s:else li styles:property //li /s:else /s:iterator /ol /body/html 在struts2中,iterator标签是很好用的,但也要注意一下.举个例子, 如果要在每行中只显示两条记录,这个经常用到的例子来的了可以这样用:table width800px aligncenter tr s:iterator valuesongs statusst td input typecheckbox namesongIds ids:property valueid/ values:property valueid/label fors:property valueid/ classcheckboxLabels:property valuename/ /td s:if test#st.modulus(2)0 s:if test#st.last /tr/s:if s:else /trtr/s:else /s:if /s:iterator /table 这里无非就是要注意 s:if test#st.modulus(2)0 来判断整除2是否为0,(也可以用s:if test#st.getIndex()%20) 并且注意如下的使用 #st.last,判断是否到了最后一条记录,并且注意: iterator标签有如下方法 boolean isEven() 当前迭代元素索引是否为偶数 boolean isOdd() 当前迭代元素索引是否为奇数 boolean isLast() 是否为最后一条元素 boolean isFirst() 是否为第一条元素。 有以上元素那么判断何时加入tr就非常方便。 若采用s2则可以将变量赋值在action的属性变量需有getset s:iterator idroles valuecurrole statusstatus tr td colspan4${roles.ROLE_NAME }/td /tr /s:iterator currole为属性变量 转载于:https://www.cnblogs.com/plzdaye/p/3961238.html