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>
分享到:
相关推荐
在这个场景中,我们关注的是`s:iterator`标签和`s:checkbox`的使用,它们是Struts 2 中视图层(JSP)的重要组件,用于迭代数据集合并呈现复选框。在Web应用中,用户经常需要进行全选和反选的操作,这通常在管理多个...
### Struts2 Iterator标签 #### 1. 基本概念 `<s:iterator>`是Struts2的一个非常强大的标签,主要用于处理列表、数组等迭代数据。它可以方便地遍历集合或数组,并支持在遍历时获取当前索引、总数等信息。 #### 2....
Struts2框架中的`s:iterator`标签是用于循环遍历数据集合的重要标签,适用于处理数组、列表、Map等数据结构。下面将详细讲解这个标签的用法及其各种属性。 1. **基本用法** `s:iterator`标签的基础用法是通过`...
Struts2 框架中的 `s:iterator` 标签是用于遍历集合、数组、Map 或者数据栈中的对象的重要组件。这个标签提供了一种便捷的方式来在 JSP 页面上展示动态数据,使得开发者能够方便地循环遍历并显示元素。下面我们将...
Struts2 框架中的 `s:iterator` 标签是用于遍历集合、数组、Map 或数据栈中的对象的,它提供了强大的迭代能力,能够方便地在JSP页面中展示数据。以下是对 `s:iterator` 标签用法的详细说明: 1. **数组或List遍历**...
### Struts2 `s:iterator` 标签的使用总结 在 Struts2 框架中,`s:iterator` 是一个非常重要的标签,它主要用于遍历集合数据(如数组、列表、映射表等),并且在 JSP 页面上显示这些数据。下面将根据提供的示例代码...
Struts2框架中的`s:iterator`标签是用于循环遍历集合数据的重要标签,适用于处理数组、列表、Map等数据结构。下面将详细讲解这个标签的用法及其各种属性。 1. **基本用法** `s:iterator`标签的基础用法是通过`...
Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它提供了`s:iterator`标签用于迭代集合对象,如数组、列表、映射等。在给定的例子中,`s:iterator`标签用于遍历`feed.entries`,这是一个...
本文将深入探讨如何在JSP中将`List`, `Set`, `Map`等集合类型的数据传递到Action,然后再通过`<s:iterator>`标签进行遍历显示。这种方式对于数据的展示和交互具有重要的实践意义。 首先,我们需要了解Struts2的工作...
### Struts2中Iterator标签的深入解析与应用 在Struts2框架中,`<s:iterator>`标签是一个非常强大的工具,用于在JSP页面上循环遍历集合数据,如列表(List)、数组、Map等。它允许开发者以一种动态且灵活的方式展示...
在这个例子中,`myMap`是Action类中的一个Map属性,`iterator`标签会遍历Map的每个键值对,并使用`s:property`标签显示它们。 接下来,我们讨论如何遍历List。List是一种有序的集合,`iterator`标签通过`status`...
在 Struts2 中,`s:iterator` 标签是一个非常重要的标签,它用于遍历集合(如数组、列表、Map 等)并展示其内容。这篇文档详细讲解了 `s:iterator` 标签的使用方法以及 OGNL(Object-Graph Navigation Language)的...
1. **s:iterator标签的基本使用** - **value属性**:该属性指定需要迭代的集合。它可以是数组、列表、Map或其他可迭代对象。例如: ```jsp <s:iterator value="{'1', '2', '3', '4', '5'}" id="number"> <s:...
在Struts2框架中,`<s:iterator>`标签是一个非常强大的工具,用于遍历集合或数组中的元素,尤其在处理列表数据时极为有用。通过本文档提供的代码示例,我们将深入探讨`<s:iterator>`标签的使用方法及其与不同数据...
在action里面写了方法获取一个list,再将这个list的值放到jsp页面中显示出来,用的是<s:iterator>标签。
### Struts2 `<s:if>` 标签使用详解 ...此外,结合其他标签如 `<s:iterator>`,可以实现更复杂的逻辑处理。理解 `<s:if>` 标签的工作原理及其用法,对于开发高质量的 Struts2 应用程序来说是非常重要的。
optiontransferselect标签:创建两个选项以及转移下拉列表项,该标签生成两个下拉列表框,同时生成相应的按钮,这些按钮可以控制选项在两个下拉列表之间移动、排序。 radio标签:单选框。 optgroup标签:生成一个...
6. **s:iterator标签** - `s:iterator`标签用于迭代集合,遍历数组、List、Map等数据结构,并可以配合`s:property`显示元素。 - 示例:`<s:iterator value="users"><s:property value="name" /></s:iterator>` 7....
10. **s:iterator标签**:用于迭代集合,常用于遍历列表、数组或Map,可以在循环内部嵌套其他Struts2标签。 11. **s:property标签**:用于显示Action类属性的值,可以格式化输出,支持EL表达式。 12. **s:debug...
8. **s:iterator标签** 用于遍历集合,例如数组、列表或Map。`<s:iterator value="users" var="user">...</s:iterator>`,value属性指定要遍历的集合,var属性定义迭代变量名。 9. **条件标签:s:if和s:else** ...