s:iterator 标签有一点要明白: 如果指定了id属性,那么迭代的集合中的元素将被保存到OgnlContext中,可以通过该属性的值来引用集合中的元素。
所以要引用时 必须加上 ‘#’
下面是我的一个例子:
<s:set name="supplierIds" value="{'001','002','003'}" />
<s:property value="supplierIds"/>
<s:set name="list" value="{'001','002','003','004'}" />
<s:iterator id="n" value="#list" status="st">
<input type="checkbox" name="supplierIds" value="<s:property value='n'/>"
<s:if test="#n in supplierIds">checked</s:if>
// 也可以用 <s:if test="#list[#st.index] in supplierIds">checked</s:if>
/>supplier<s:property value='n'/>
</s:iterator>
目标:根据supplierIds中的元素来选中checkbox
分析:test="#n in supplierIds" 因为n被压入OgnlContext中,所以必须加上‘#’
下面简单介绍
struts2的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的实例,它有以下几个方法
int getCount()返回当前迭代了几个元素
int getIndex()返回当前元素索引
boolean isEven()当然的索引是否偶数
boolean isFirst()当前是否第一个元素
boolean isLast()
boolean isOdd()当前元素索引是否奇数
-
<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>
分享到:
相关推荐
在action里面写了方法获取一个list,再将这个list的值放到jsp页面中显示出来,用的是<s:iterator>标签。
生成一个简单的iterator,并且使用iterator标签打印出内容。 <s:generator val="%{'aaa,bbb,ccc,ddd,eee'}"> <s:iterator> <s:property /> </s:iterator> </s:generator> 例2: 生成一个iterator,使用...
自己使用过的struts2标签总结 1. resList是action中的一个属性 <s:iterator id="rs" value="resList" status="count" > </s:iterator> <s:iterator id="pwd" value="#request.usePwdList" status="mIndex"> ...
jsp自定义标签iterator遍历list[整理].pdf
NULL 博文链接:https://takeme.iteye.com/blog/1663239
<%@ taglib uri="/struts-tags" prefix="s...(4) <s:iterator> (5) <s:include> (6) <s:form>、<s:hidden> (7) <s:textfield>、<s:password>、<s:checkbox>、<s:textarea> (8) <s:select>、<s:radio>、<s:checkboxlist>
<%@ taglib uri="/struts-tags" prefix="s...(4) <s:iterator> (5) <s:include> (6) <s:form>、<s:hidden> (7) <s:textfield>、<s:password>、<s:checkbox>、<s:textarea> (8) <s:select>、<s:radio>、<s:checkboxlist>
web开发struts2标签 <s:property></s:property> <s:iterator></s:iterator>
optiontransferselect标签:创建两个选项以及转移下拉列表项,该标签生成两个下拉列表框,同时生成相应的按钮,这些按钮可以控制选项在两个下拉列表之间移动、排序。 radio标签:单选框。 optgroup标签:生成一个...
struts2中siterator 标签的使用详解 及 OGNL用法 struts2中siterator 标签的使用详解 及 OGNL用法
struts标签做的增删查改 s:iterator s:textfield s:select s:checkboxlist
主要介绍Strus2中的通用标签,主要有<s:url>, <s:set>, <s:push>, <s:if>, <s:elseif>, <s:else>, <s:iterator>, <s:sort>, <s:date>, <s:a>等几个标签的具体用法,希望能对大家有帮助。
jsp代码: 代码如下:<form id=”search”> <select id=”jobSelect” style=”width: 200px;” name=”jobSelect”> <s test=’jobSelect xss=removed> ”selected” ...s:iterator value=”jobCat”
例如:一、Struts2标记库中迭代标签iterator的()方法是判断当前元素是否是第偶数个元素。 A.isOdd B.isLast C.isFirst D.isEven 二、假设在session中存在名为username的属性,通过OGNL访问该属性,正确的代码是...
有写<s:iterator/>标签的用法 7.Struts2_03_TypeConverter6 把上面数组的改成list的了 8.Struts2_03_TypeConverter7 OGNL表达式实现类型转换 9.Struts2_03_validate_review 输入校验 ————复习前面的 ...
有写<s:iterator/>标签的用法 7.Struts2_03_TypeConverter6 把上面数组的改成list的了 8.Struts2_03_TypeConverter7 OGNL表达式实现类型转换 9.Struts2_03_validate_review 输入校验 ————复习前面的 ...
有写<s:iterator/>标签的用法 7.Struts2_03_TypeConverter6 把上面数组的改成list的了 8.Struts2_03_TypeConverter7 OGNL表达式实现类型转换 9.Struts2_03_validate_review 输入校验 ————复习前面的 ...
有写<s:iterator/>标签的用法 7.Struts2_03_TypeConverter6 把上面数组的改成list的了 8.Struts2_03_TypeConverter7 OGNL表达式实现类型转换 9.Struts2_03_validate_review 输入校验 ————复习前面的 ...
5.3.4 iterator标签使用介绍 82 5.3.5 merge标签使用介绍 83 5.3.6 sort标签使用介绍 84 5.3.7 subset标签使用介绍 86 5.4 Struts2数据标签简介 88 5.4.1 action标签使用介绍 88 5.4.2 bean标签使用介绍 89 5.4.3 ...
//时间标签:DFS过程中该顶点被访问结束时的时刻 protected int distance;//到指定起点的距离:BFS、Dijkstra等算法所确定该顶点到起点的距离 protected Vertex bfsParent;//在最短距离树(BFS或BestFS)中的父亲 ...