struts2随提供了循环控制标签<s:iterator/>,,使用起来也比较方便,但在具体的应用中,也有不方便之处,他没有像struts1的<c:foreach/>标签,提供了begin、end等属性,支持自增变量的循环。遇到这种问题怎么解决??struts2提供了<s:bean/>标签,且提供了一个bean类:org.apache.struts2.util.Counter,该类中有first、last等属性,可用使用它获取自增值,如下:
<s:bean name="org.apache.struts2.util.Counter" id="counter">
<s:param name="first" value="1" />
<s:param name="last" value="10" />
<s:iterator>
<s:property/>
</s:iterator>
</s:bean>
其中first属性指定循环起始值,last指定循环终止值,其它相关属性可以查看org.apache.struts2.util.Counter类源码。在下面迭代器中输入循环的当前值,即:current-1
例1:分页中,select自增计数的控制
<select name="page"
onchange="javascript:window.location='newslist.jsp?page='+this.value">
<s:bean name="org.apache.struts2.util.Counter">
<s:param name="first" value="1" />
<s:param name="last" value="pageCount" />
<s:iterator>
<option value="<s:property />"
<s:if test="%{page==(current-1)}">selected="selected"</s:if>>
<s:property />
</option>
</s:iterator>
</s:bean>
</select>
例2:
<s:bean name="org.apache.struts2.util.Counter" id="counter">
<s:param name="first" value="1"></s:param>
<s:param name="last" value="question.number"></s:param>
<s:iterator>
<tr>
<td width="30%" bgcolor="#e6ecf9" align="right">
选项 <s:property/>
</td>
<td>
<s:textfield name="question.items" cssClass="test" size="70%" bgcolor="#e6ecf9"></s:textfield>
</td>
</tr>
</s:iterator>
</s:bean>
分享到:
相关推荐
在压缩包中的"example"文件可能包含了一个或多个使用Struts2标签的实际示例,可以参考这些示例来理解和学习Struts2标签的用法。通过实践,你会更好地掌握这些标签的功能和用法,从而在开发过程中更加得心应手。
- **循环标签**:如`s:iterator`, 可以遍历集合对象并渲染结果。 - **国际化标签**:如`s:text`,用于实现多语言支持。 2. **Struts2标签的使用** 使用Struts2标签,首先需要在JSP页面中引入Struts2的标签库: ...
Struts2 标签使用方法 Struts2 标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,Struts2 的主题、模板都提供了很好的扩展性。Struts2 允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂...
Struts2标签库的组成 Struts2框架的标签库可以分为以下三类: 用户界面标签(UI标签):主要用来生成HTML元素的标签。 表单标签:主要用于生成HTML页面的FORM元素,以及普通表单元素的标签。 非表单标签:主要用于生成...
以上只是Struts2标签库的一部分,实际使用中还有更多标签如`<s:textfield>`(文本输入框)、`<s:textarea>`(文本区域)、`<s:submit>`(提交按钮)等,每个都有其特定的用途,极大地简化了JSP页面的编写。...
除了预定义的标签外,Struts2还允许开发者自定义标签,这需要创建一个继承自`org.apache.struts2.views.jsp.TagSupport`的Java类,并在JSP页面中使用`<s:tag>`进行调用。 五、标签库的扩展性 Struts2的标签库不仅...
在本篇中,我们将深入探讨Struts2的标签应用及其在实际开发中的使用。 首先,了解Struts2的标签库分为两个主要部分:动作标签和数据标签。动作标签主要用于处理业务逻辑,如表单提交、重定向等,而数据标签则专注于...
学习和熟练使用Struts标签是成为高效Struts开发者的关键。为了更好地理解和应用这些标签,建议实践编写示例,查看官方文档和在线教程,这样可以加深对每个标签功能的理解,以及它们在实际场景中的应用。
下面将详细解释如何在Struts2中设置循环标签的ID以及其工作原理。 首先,`s:iterator`标签的基本结构如下: ```jsp <!-- 迭代体内容 --> ``` 这里的`collectionName`是要迭代的集合对象,而`statusVariable`则...
下面将详细阐述Struts2标签库的使用、功能和优势。 1. **Struts2标签库介绍** Struts2框架中的标签库是基于JSP标准标签库(JSTL)的扩展,它提供了一系列与动作、结果、表单和国际化相关的标签。这些标签能够帮助...
4. **Struts2标签详细用法**:`s:if`和`s:else`用于条件判断,`s:foreach`处理循环,`s:action`执行Action,`s:include`包含其他JSP页面,`s:submit`提交表单等。每个标签都有其特定的属性和用法,理解并熟练使用...
### Struts2常用标签详解(实用版) #### 引言 在Java Web开发领域中,Struts2框架因其丰富的功能及灵活的配置而备受开发者们的青睐。为了更好地掌握Struts2框架并提升开发效率,本文将详细介绍Struts2中常用的...
10. **s:iterator标签**:用于迭代集合,常用于遍历列表、数组或Map,可以在循环内部嵌套其他Struts2标签。 11. **s:property标签**:用于显示Action类属性的值,可以格式化输出,支持EL表达式。 12. **s:debug...
3. **Logic标签**:虽然Struts2已经不推荐使用这些标签,但在老版本中它们用于控制流程。例如: - `<s:if>`和 `<s:else>`:条件判断,类似于Java中的if-else语句。 - `<s:iterate>`:遍历集合,类似于Java的for-...
Struts循环标签是Apache Struts框架中用于在JSP页面上动态显示数据集合的重要工具。Struts是一个开源的MVC(Model-View-Controller)框架,它极大地简化了Java Web应用的开发,尤其是在处理表单数据和展示动态内容时...
在使用Struts2标签库前,需要在JSP页面中引入相应的标签库,通常使用`<%@taglib>`指令,如`<%@taglib uri="/struts-tags" prefix="s"%>`。对于Servlet2.3之前的版本,可能还需要在web.xml中配置标签库的定义,但...
除了这些基本标签,Struts2还提供了处理表单验证、国际化、循环、条件判断等复杂功能的标签。例如,`<s:if>`和`<s:else>`用于条件渲染,`<s:iterator>`用于遍历集合,`<s:property>`用于显示对象属性的值。 在...
观看者将学习到如何通过配置Struts的配置文件(struts-config.xml)来关联标签和JavaBean,以及如何在JSP页面中正确地使用这些标签来构建动态页面。此外,还会涉及如何调试和解决与这些标签相关的问题,以提升开发...
在实际开发中,Struts2标签可以与OGNL(Object-Graph Navigation Language)表达式一起使用,实现动态数据绑定和复杂的逻辑判断。例如,`s:if`标签可以这样使用: ```jsp 欢迎管理员! 欢迎普通用户! ``` ...