`
兩ting
  • 浏览: 75828 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

<s:iterator/>取得循环的索引

阅读更多
<s:iterator value="list" id="user" status="L">
<s:property value="#L.index+1"/>、
<s:property value="#user.name"/><br>
</s:iterator>

#L.index,即为list的索引
其中L是个IteratorStatus对象
List<User>
User对象含有name和password属性。

当然你也可以写成:
<s:iterator value="list" id="user" status="L">
<s:property value="${L.index+1}"/>、
<s:property value="${user.name}"/><br>
</s:iterator>


<s:iterator value="colorArrayList" status="tl">
               <div class="spxz" style="cursor: hand;" value="<s:property value='#tl.index'/>"></div>
             </s:iterator>


iterator标签主要是用于迭代输出集合元素,如list set map 数组等,在使用<s:iterator/>标签的时候有三个属性值得我们关注

1. value属性:可选的属性,value属性是指一个被迭代的集合,使用ognl表达式指定,如果为空的话默认就是ValueStack栈顶的集合.
2.id属性:可选属性, 是指集合元素的id
3.status属性:可选属性,该属性在迭代时会产生一个IteratorStatus对象,该对象可以判断当前元素的位置,包含了以下属性方法:

int getCount(); 迭代元素个数

int getIndex(); 迭代元素当前索引

boolean getFirst(); 是否为第一个

boolean getEven(); 是否为偶

boolean getLast(); 是否最后一个

bolean getOdd();   是否为奇

由于iteratorstatus对象并不是ognl的根对象因此访问需要加上 #访问如下例子:

<s:iterator value=”{’dd’,'bb’,'cc’}” status=”st”>

   <s:if test=”#st.odd”>

      <s:property value=”#st.index”/>

   </s:if>

</s:iterator>



此外:iterator也可以迭代map对象,map对象中有几对key-value 就迭代几次,分别使用
<s:property value=”key”/>
<s:property value=”value”/>

分享到:
评论

相关推荐

    " data-report-query="utm_medium=distribute.pc_relevant_iteye_download.none-task-download-2~default~OPENSEARCH~Paid-1-1262678-iteye_blog-1646480.nonecase&depth_1-utm_source=distribute.pc_relevant_iteye_download.none-task-download-2~default~OPENSEARCH~Paid-1-1262678-iteye_blog-1646480.nonecase" data-report-click='{"mod":"popu_708","dest":"https://download.csdn.net/download/lin56zo/1262678","strategy":"2~default~OPENSEARCH~Paid","extra":"{\"utm_medium\":\"distribute.pc_relevant_iteye_download.none-task-download-2~default~OPENSEARCH~Paid-1-1262678-iteye_blog-1646480.nonecase\"}"}' > <s:iterator value="list" id="book" status="u">

    &lt;s:iterator value="list" id="book" status="u"&gt; &lt;tr&gt; &lt;td&gt; &nbsp; &lt;s:property value="id" /&gt; &lt;/td&gt; &lt;td&gt; &nbsp; &lt;s:property value="name" /&gt; &lt;/td&gt; &lt;td&gt; ...

    struts与jsp 使用方法

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

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

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

    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;

    c++头文件大全.txt

    &lt;iterator&gt;:迭代器 &lt;list&gt;:链表 &lt;map&gt;:映射 &lt;memory&gt;:内存管理 &lt;optional&gt;:可选值 &lt;queue&gt;:队列 &lt;random&gt;:随机数 &lt;regex&gt;:正则表达式 &lt;set&gt;:集合 &lt;stack&gt;:栈 &lt;string&gt;:字符串 &lt;tuple&gt;:元组 &lt;unordered_...

    struts2标签技术

    &lt;s:iterator&gt; &lt;s:property /&gt;&lt;br/&gt; &lt;/s:iterator&gt; &lt;/s:generator&gt; 例2: 生成一个iterator,使用count属性。因为count属性值为3,所以只有前三个内容(aaa,bbb,ccc)在生成的iterator中。 Generate an iterator ...

    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;

    通用代码下一页

    &lt;s:iterator value="goods" id="item" status="st"&gt; &lt;tr align="center"&gt; &lt;td &gt;${st.index+1} &lt;/td&gt; &lt;td &gt;${item.gsName }&lt;/td&gt; &lt;td &gt;${item.gsClass }&lt;/td&gt; &lt;td &gt;${item.gsBrand }&lt;/td&gt; &lt;td &gt;${item....

    struts2 标签库 帮助文档

    将多个集合使用一个&lt;iterator/&gt;标签完成迭代。 generatot标签:将指定的字符串按照规定的分隔符分解成多个子字符串。 merge标签:将多个集合拼接在一起。 subset标签:获取某个集合的子集合。 sort标签:多指定...

    Struts2实战总结

    1:在action中定义的变量,在jsp页面中显示用:&lt;s:property value="变量名" /&gt; 2:在页面中实现自动增加的序号用iterator的statuts的index属性 eg: &lt;s:iterator value="#request.inOutAccountList" id="data" ...

    struts2标签

    &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; &lt;tr&gt; &lt;td&gt; &lt;a href="[removed]similarityPwdDeQQ('${pwd.idType...

    C++ Standard Library: A Tutorial and Reference

    Input/Output Using Stream Classes&lt;br/&gt;&lt;br/&gt;13.1 Common Background of I/O Streams&lt;br/&gt;&lt;br/&gt;13.2 Fundamental Stream Classes and Objects&lt;br/&gt;&lt;br/&gt;13.3 Standard Stream Operators &lt;&lt; and &gt;&gt;&lt;br/&gt;&lt;br/&gt;13.4 ...

    Struts2实现分页

    &lt;s:iterator value="list" status="st"&gt; &lt;tr&gt; &lt;td&gt;&lt;s:property value="username"/&gt;&lt;/td&gt; &lt;td&gt;&lt;s:property value="password"/&gt;&lt;/td&gt; &lt;td&gt;&lt;s:property value="power"/&gt;&lt;/td&gt; &lt;td&gt;&lt;s:property value="cdate"/&gt;&lt;/td&gt; &lt;td...

    MVC实现增删改查的小例子

    body&gt;&lt;center&gt;&lt;font color=red size=7&gt;92期学员信息如下&lt;/font&gt; &lt;hr&gt; &lt;table border=1&gt; &lt;tr&gt; &lt;td&gt;id&lt;/td&gt; &lt;td&gt;姓名&lt;/td&gt; &lt;td&gt;密码&lt;/td&gt; &lt;td&gt;性别&lt;/td&gt; &lt;td&gt;年龄&lt;/td&gt; &lt;td&gt;&lt;center&gt;操 作&lt;/center&gt;&lt;/td&gt; &lt;/...

    【编程爱好者之书-Java2 类库】

    包概述&lt;br/&gt;java.io &lt;br/&gt;java.lang &lt;br/&gt;java.lang.ref &lt;br/&gt;java.lang.reflect &lt;br/&gt;java.math &lt;br/&gt;java.net &lt;br/&gt;java.text &lt;br/&gt;java.... &lt;br/&gt;contains() &lt;br/&gt;containsAll() &lt;br/&gt;isEmpty() &lt;br/&gt;iterator()

    设计之道 张逸

    由你掌握&lt;br/&gt;重构初体验&lt;br/&gt;从企业的运行价值链说起&lt;br/&gt;使用极限编程改善项目的设计和灵活性&lt;br/&gt;从实例谈OOP、工厂模式和重构&lt;br/&gt;从实例谈...应用实践&lt;br/&gt;Factory Method 模式&lt;br/&gt;Composite 模式&lt;br/&gt;Iterator 模式

    dom4j

    &lt;br&gt;&lt;br&gt;/**&lt;br&gt;&lt;br&gt;* @author Holen Chen&lt;br&gt;&lt;br&gt;*/&lt;br&gt;&lt;br&gt;public class Dom4jDemo {&lt;br&gt; public Dom4jDemo() {&lt;br&gt; }&lt;br&gt;&lt;br&gt; /**&lt;br&gt;&lt;br&gt; * 建立一个XML文档,文档名由输入属性决定&lt;br&gt;&lt;br&gt; * @param filename 需...

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

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

    c语言时间片

    1、 设计一个按时间片轮转调度的算法&lt;br&gt;&lt;br&gt;提示:&lt;br&gt;&lt;br&gt;(1)假设系统有5个进程,每个进程用一个进程控制块PCB来代表。PCB的格式如图1-3所示。&lt;br&gt;&lt;br&gt;&lt;br&gt;其中,进程名即进程标识。&lt;br&gt;&lt;br&gt;链接指针:指出下一...

    STL容器vector

    vector&lt;student&gt;::iterator cit; cit=onit.end(); onit.insert(cit,Student); cout&lt;&lt;"你插入的学生信息为:"&lt;&lt;endl; cit=onit.begin(); for (;cit!=onit.end();cit++) { // cout &lt;&lt;"学生姓名为:"&lt;&lt;*cit-&gt;...

Global site tag (gtag.js) - Google Analytics