s:iterator 标签有3个属性:
value:被迭代的集合
id :指定集合里面的元素的id
status 迭代元素的索引
数组或list
List<News> news;
News类中(id,name)
1,wang
2,li
<s:iterator value="news" id='n'>
<li><s:property value='n.id'/></li>
</s:iterator>
打印结果为:
1
2
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:bean name="org.apache.struts2.util.Counter" id="counter">
<s:param name="first" value="5" />
<s:param name="last" value="10" />
<s:iterator>
counter:<s:property/>
</s:iterator>
</s:bean>
这个标签主要的的作用就是迭代出集合。。
value属性表示需要跌代显示出来的值。
status属性,又来保存迭代时的一些状态值。
分享到:
相关推荐
例如:<s:append id="myAppendIterator"> <s:param value="%{myList1}" /> <s:param value="%{myList2}" /> <s:param value="%{myList3}" /></s:append><s:iterator value="%{#myAppendIterator}"> <s:property /></...
在上述代码中,`<s:iterator>`遍历Action中返回的`users`集合,`<s:property>`显示属性值,`<s:url>`创建链接,`<s:form>`定义表单,`<s:textfield>`为表单字段,`<s:submit>`用于提交表单。 通过Struts2的标签库,...
- `<s:iterator>`:迭代标签,用于遍历集合对象,如List、Set等。 - `<s:property>`:显示对象的属性值,常用于显示后台数据。 2. **展示标签库**: - `<s:textarea>`:创建多行文本输入框。 - `<s:checkbox>`...
- `<s:iterator>`:迭代集合,如List或Map,用于显示列表数据。 5. **Struts2 Tags的特性** - 数据绑定:自动将标签的值绑定到Action的属性,减少了手动设置值的繁琐步骤。 - 验证支持:标签可以直接与Struts2的...
- `<s:iterator>`:遍历集合,如`<s:iterator value="users">...</s:iterator>`。 - `<s:select>`、`<s:radio>`和`<s:checkbox>`:用于创建表单元素,绑定数据到Action的属性。 5. **安全问题** - OGNL注入:...
例如,使用`s:textfield`和`s:submit`创建用户注册表单,`<s:if>`进行表单验证,`<s:iterator>`遍历数据库中的用户并显示,`<display:table>`处理用户列表的分页和排序。 通过阅读`struts标签讲解.ppt`,你可以更...
11. **`<s:iterator>`** 标签: 用于迭代集合数据,常用于遍历数组、List、Map等数据结构。 12. **`<s:include>`** 标签: 类似于JSP的`<jsp:include>`标签,用于包含其他JSP或Struts动作。 在Struts2中,这些...
2. `<s:choose>`, `<s:when>`, `<s:otherwise>`:这些标签可以实现多分支判断,类似于Java的switch-case语句。 二、数据绑定标签 1. `<s:textfield>`:用于创建输入框,自动绑定Action类中的属性。例如: ```jsp ...
同样采用`<s:iterator>`标签遍历购物车中的商品列表,并提供一个“删除”按钮,以便用户能够移除不再需要的商品。 ```jsp <body> <table> <tr> <td>编号</td> <td>名称</td> <td>价格</td> <td>操作</td> ...
例如,`<s:form>`用于创建表单,`<s:textfield>`用于输入框,`<s:submit>`用于提交按钮,`<s:iterator>`用于遍历集合并显示数据,而`<s:if>`和`<s:else>`则可以进行条件判断。通过这些标签,开发者可以快速构建出...
- **国际化**:如果需要支持多种语言,可以利用Struts2的国际化特性,创建资源文件并使用`<s:text>`标签显示多语言文本。 总的来说,Struts标签库为Java Web开发带来了便利,尤其是在处理中文内容时。通过理解并...
- **Struts2迭代标签**:`<s:iterator>`标签用于遍历集合或数组,并且可以轻松地与JSTL结合使用。 #### 5. 总结 本文通过一个实际的案例,介绍了如何在JSP中实现对字符串长度的限制。这种方法不仅可以提高页面的...
比如,如果Action类有一个`List<String> messages`属性,我们可以在JSP中使用`<s:iterator value="messages">`标签遍历这个列表。 描述中提到的"ognl标签"是指Struts2提供的与OGNL相关的标签库,它们使得在JSP页面...
使用Struts2的标签库可以方便地绑定数据和处理表单提交: ```jsp <!-- addEmployee.jsp --> <s:form action="addEmployee"> <s:textfield name="employee.name" label="姓名"/> <s:textfield name="employee....
- 引入Struts2标签库:在JSP页面头部添加`<%@ taglib prefix="s" uri="/struts-tags"%>`。 - 在Action中定义相关属性和方法。 - 在JSP页面中使用标签,如`s:textfield name="username"`绑定Action的username属性...
- 可以使用Struts2的迭代标签(如`s:iterator`)来遍历存储文件路径的集合,并动态生成HTML `<img>` 标签显示图片。 - 示例代码: ```jsp <div style="width:510px;border:1px solid gray"> <div style="width:...
在JSP中,我们可以使用Struts2的标签库来展示数据,比如`s:iterator`遍历查询结果,`s:property`输出每个字段的值。同时,也需要显示分页导航,这通常包括“上一页”、“下一页”以及页码选择器。例如: ```jsp <%@...
在"struts留言本"的视图部分,可能会使用`<s:form>`标签来创建表单,`<s:textfield>`和`<s:textarea>`来显示和收集用户输入,以及`<s:iterator>`遍历并显示留言列表。 5. **数据库交互**: 为了持久化留言数据,...
例如,`<s:textfield>`用于创建输入字段,`<s:submit>`用于提交表单,而`<s:iterator>`则用于遍历集合并显示其内容。这些标签简化了JSP代码,提高了可维护性。 2. **DispatchAction的使用**: - **配置Action**:...