`

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与jsp 使用方法

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

    struts2标签技术

    生成一个简单的iterator,并且使用iterator标签打印出内容。 &lt;s:generator val="%{'aaa,bbb,ccc,ddd,eee'}"&gt; &lt;s:iterator&gt; &lt;s:property /&gt; &lt;/s:iterator&gt; &lt;/s:generator&gt; 例2: 生成一个iterator,使用...

    struts2标签

    自己使用过的struts2标签总结 1. resList是action中的一个属性 &lt;s:iterator id="rs" value="resList" status="count" &gt; &lt;/s:iterator&gt; &lt;s:iterator id="pwd" value="#request.usePwdList" status="mIndex"&gt; ...

    jsp自定义标签iterator遍历list[整理].pdf

    jsp自定义标签iterator遍历list[整理].pdf

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

    NULL 博文链接:https://takeme.iteye.com/blog/1663239

    Struts2标签库

    &lt;%@ taglib uri="/struts-tags" prefix="s...(4) &lt;s:iterator&gt; (5) &lt;s:include&gt; (6) &lt;s:form&gt;、&lt;s:hidden&gt; (7) &lt;s:textfield&gt;、&lt;s:password&gt;、&lt;s:checkbox&gt;、&lt;s:textarea&gt; (8) &lt;s:select&gt;、&lt;s:radio&gt;、&lt;s:checkboxlist&gt;

    Struts2标签库的所有

    &lt;%@ taglib uri="/struts-tags" prefix="s...(4) &lt;s:iterator&gt; (5) &lt;s:include&gt; (6) &lt;s:form&gt;、&lt;s:hidden&gt; (7) &lt;s:textfield&gt;、&lt;s:password&gt;、&lt;s:checkbox&gt;、&lt;s:textarea&gt; (8) &lt;s:select&gt;、&lt;s:radio&gt;、&lt;s:checkboxlist&gt;

    struts2 web 开发标签

    web开发struts2标签 &lt;s:property&gt;&lt;/s:property&gt; &lt;s:iterator&gt;&lt;/s:iterator&gt;

    struts2 标签库 帮助文档

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

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

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

    struts标签做的增删查改

    struts标签做的增删查改 s:iterator s:textfield s:select s:checkboxlist

    Struts2通用标签用法示例

    主要介绍Strus2中的通用标签,主要有&lt;s:url&gt;, &lt;s:set&gt;, &lt;s:push&gt;, &lt;s:if&gt;, &lt;s:elseif&gt;, &lt;s:else&gt;, &lt;s:iterator&gt;, &lt;s:sort&gt;, &lt;s:date&gt;, &lt;s:a&gt;等几个标签的具体用法,希望能对大家有帮助。

    js获取select标签的值且兼容IE与firefox

    jsp代码: 代码如下:&lt;form id=”search”&gt; &lt;select id=”jobSelect” style=”width: 200px;” name=”jobSelect”&gt; &lt;s test=’jobSelect xss=removed&gt; ”selected” ...s:iterator value=”jobCat”

    struts2综合复习习题

    例如:一、Struts2标记库中迭代标签iterator的()方法是判断当前元素是否是第偶数个元素。 A.isOdd B.isLast C.isFirst D.isEven 二、假设在session中存在名为username的属性,通过OGNL访问该属性,正确的代码是...

    struts2入门实例4 经典入门必备

    有写&lt;s:iterator/&gt;标签的用法 7.Struts2_03_TypeConverter6 把上面数组的改成list的了 8.Struts2_03_TypeConverter7 OGNL表达式实现类型转换 9.Struts2_03_validate_review 输入校验 ————复习前面的 ...

    struts2入门实例3 经典入门必备

    有写&lt;s:iterator/&gt;标签的用法 7.Struts2_03_TypeConverter6 把上面数组的改成list的了 8.Struts2_03_TypeConverter7 OGNL表达式实现类型转换 9.Struts2_03_validate_review 输入校验 ————复习前面的 ...

    struts2入门实例2 经典入门必备

    有写&lt;s:iterator/&gt;标签的用法 7.Struts2_03_TypeConverter6 把上面数组的改成list的了 8.Struts2_03_TypeConverter7 OGNL表达式实现类型转换 9.Struts2_03_validate_review 输入校验 ————复习前面的 ...

    struts2入门实例1

    有写&lt;s:iterator/&gt;标签的用法 7.Struts2_03_TypeConverter6 把上面数组的改成list的了 8.Struts2_03_TypeConverter7 OGNL表达式实现类型转换 9.Struts2_03_validate_review 输入校验 ————复习前面的 ...

    struts2讲义_吴峻申

    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 ...

    基于邻接边表实现图的顶点结构算法(java源码)

    //时间标签:DFS过程中该顶点被访问结束时的时刻 protected int distance;//到指定起点的距离:BFS、Dijkstra等算法所确定该顶点到起点的距离 protected Vertex bfsParent;//在最短距离树(BFS或BestFS)中的父亲 ...

Global site tag (gtag.js) - Google Analytics