`

s:iterator标签

 
阅读更多

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

  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>  
分享到:
评论

相关推荐

    对 Struts 2 的 s: iterator tag 中嵌套的所有 s: checkbox 进行全选、反选操作

    在这个场景中,我们关注的是`s:iterator`标签和`s:checkbox`的使用,它们是Struts 2 中视图层(JSP)的重要组件,用于迭代数据集合并呈现复选框。在Web应用中,用户经常需要进行全选和反选的操作,这通常在管理多个...

    struts2 iterator标签遍历二维数组

    ### Struts2 Iterator标签 #### 1. 基本概念 `&lt;s:iterator&gt;`是Struts2的一个非常强大的标签,主要用于处理列表、数组等迭代数据。它可以方便地遍历集合或数组,并支持在遍历时获取当前索引、总数等信息。 #### 2....

    s:iterator 用法.pdf

    Struts2框架中的`s:iterator`标签是用于循环遍历数据集合的重要标签,适用于处理数组、列表、Map等数据结构。下面将详细讲解这个标签的用法及其各种属性。 1. **基本用法** `s:iterator`标签的基础用法是通过`...

    s:iterator 用法.docx

    Struts2 框架中的 `s:iterator` 标签是用于遍历集合、数组、Map 或者数据栈中的对象的重要组件。这个标签提供了一种便捷的方式来在 JSP 页面上展示动态数据,使得开发者能够方便地循环遍历并显示元素。下面我们将...

    s:iterator 用法 (2).docx

    Struts2 框架中的 `s:iterator` 标签是用于遍历集合、数组、Map 或数据栈中的对象的,它提供了强大的迭代能力,能够方便地在JSP页面中展示数据。以下是对 `s:iterator` 标签用法的详细说明: 1. **数组或List遍历**...

    strust2 s:iterator常用情况个人总结

    ### Struts2 `s:iterator` 标签的使用总结 在 Struts2 框架中,`s:iterator` 是一个非常重要的标签,它主要用于遍历集合数据(如数组、列表、映射表等),并且在 JSP 页面上显示这些数据。下面将根据提供的示例代码...

    s:iterator 用法 (2).pdf

    Struts2框架中的`s:iterator`标签是用于循环遍历集合数据的重要标签,适用于处理数组、列表、Map等数据结构。下面将详细讲解这个标签的用法及其各种属性。 1. **基本用法** `s:iterator`标签的基础用法是通过`...

    s:iterator的EL表达式原理

    Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它提供了`s:iterator`标签用于迭代集合对象,如数组、列表、映射等。在给定的例子中,`s:iterator`标签用于遍历`feed.entries`,这是一个...

    Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)

    本文将深入探讨如何在JSP中将`List`, `Set`, `Map`等集合类型的数据传递到Action,然后再通过`&lt;s:iterator&gt;`标签进行遍历显示。这种方式对于数据的展示和交互具有重要的实践意义。 首先,我们需要了解Struts2的工作...

    struts2中iterator 标签的使用详解

    ### Struts2中Iterator标签的深入解析与应用 在Struts2框架中,`&lt;s:iterator&gt;`标签是一个非常强大的工具,用于在JSP页面上循环遍历集合数据,如列表(List)、数组、Map等。它允许开发者以一种动态且灵活的方式展示...

    Struts2 iterator 标签遍历 Map,List,数组(三十六)

    在这个例子中,`myMap`是Action类中的一个Map属性,`iterator`标签会遍历Map的每个键值对,并使用`s:property`标签显示它们。 接下来,我们讨论如何遍历List。List是一种有序的集合,`iterator`标签通过`status`...

    struts2中siterator 标签的使用详解 及 OGNL用法.docx

    在 Struts2 中,`s:iterator` 标签是一个非常重要的标签,它用于遍历集合(如数组、列表、Map 等)并展示其内容。这篇文档详细讲解了 `s:iterator` 标签的使用方法以及 OGNL(Object-Graph Navigation Language)的...

    struts2中siterator 标签的使用详解 及 OGNL用法.pdf

    1. **s:iterator标签的基本使用** - **value属性**:该属性指定需要迭代的集合。它可以是数组、列表、Map或其他可迭代对象。例如: ```jsp &lt;s:iterator value="{'1', '2', '3', '4', '5'}" id="number"&gt; &lt;s:...

    struts2 标签iterator使用

    在Struts2框架中,`&lt;s:iterator&gt;`标签是一个非常强大的工具,用于遍历集合或数组中的元素,尤其在处理列表数据时极为有用。通过本文档提供的代码示例,我们将深入探讨`&lt;s:iterator&gt;`标签的使用方法及其与不同数据...

    struts与jsp 使用方法

    在action里面写了方法获取一个list,再将这个list的值放到jsp页面中显示出来,用的是&lt;s:iterator&gt;标签。

    struts2 标签使用

    ### Struts2 `&lt;s:if&gt;` 标签使用详解 ...此外,结合其他标签如 `&lt;s:iterator&gt;`,可以实现更复杂的逻辑处理。理解 `&lt;s:if&gt;` 标签的工作原理及其用法,对于开发高质量的 Struts2 应用程序来说是非常重要的。

    struts2 标签库 帮助文档

    optiontransferselect标签:创建两个选项以及转移下拉列表项,该标签生成两个下拉列表框,同时生成相应的按钮,这些按钮可以控制选项在两个下拉列表之间移动、排序。 radio标签:单选框。 optgroup标签:生成一个...

    Struts2 标签使用

    6. **s:iterator标签** - `s:iterator`标签用于迭代集合,遍历数组、List、Map等数据结构,并可以配合`s:property`显示元素。 - 示例:`&lt;s:iterator value="users"&gt;&lt;s:property value="name" /&gt;&lt;/s:iterator&gt;` 7....

    struts2标签大全

    10. **s:iterator标签**:用于迭代集合,常用于遍历列表、数组或Map,可以在循环内部嵌套其他Struts2标签。 11. **s:property标签**:用于显示Action类属性的值,可以格式化输出,支持EL表达式。 12. **s:debug...

    struts2标签的使用

    8. **s:iterator标签** 用于遍历集合,例如数组、列表或Map。`&lt;s:iterator value="users" var="user"&gt;...&lt;/s:iterator&gt;`,value属性指定要遍历的集合,var属性定义迭代变量名。 9. **条件标签:s:if和s:else** ...

Global site tag (gtag.js) - Google Analytics