假如有jsp页面要实现一个列表信息,格式如下:
第1条信息 第2条信息
第3条信息 第4条信息
第5条信息 第6条信息
第7条信息 第8条信息
.....
搜索过别的方法,很多人运用jsp代码写入页面来进行循环判断。其实用struts2自带的标签可以实现同样效果,利用iterator标签进行循环,里面用if标签判断何时加入tr标签的开头和结尾,下面实现了两列信息列表的情况:
Java代码
<table width="540" border="0" cellspacing="0" cellpadding="0">
<s:iterator value="cooperList" status="st">
<s:if test="#st.odd||#st.first">
<tr>
</s:if>
<td width="200" height="20">
<a href="showSelCooper.action?oid=<s:property value="oid" />" target="_blank"><s:property value="title"/></a></td>
<s:if test="#st.even||#st.last">
<tr>
</s:if>
</s:iterator>
</table>
<table width="540" border="0" cellspacing="0" cellpadding="0">
<s:iterator value="cooperList" status="st">
<s:if test="#st.odd||#st.first">
<tr>
</s:if>
<td width="200" height="20">
<a href="showSelCooper.action?oid=<s:property value="oid" />" target="_blank"><s:property value="title"/></a></td>
<s:if test="#st.even||#st.last">
<tr>
</s:if>
</s:iterator>
</table>
因为iterator标签有如下方法:
boolean isEven() 当前迭代元素索引是否为偶数;
boolean isOdd() 当前迭代元素索引是否为奇数;
boolean isLast() 是否为最后一条元素;
boolean isFirst() 是否为第一条元素。
有以上元素,那么判断何时加入tr就非常方便。
假如是多列(两列以上),那么我们就可以使用如下方法:
int getIndex() 返回当前迭代元素的索引
用它来计算你何时需要加入tr标签的开头和结尾,无非就是if判断的表达式复杂一些,方法还是一样的。
分享到:
相关推荐
在Struts2框架中,`<s:iterator>`标签是一个非常强大的工具,用于在JSP页面上循环遍历集合数据,如列表(List)、数组、Map等。它允许开发者以一种动态且灵活的方式展示来自后端的数据,从而极大地提高了开发效率和...
### WebWork Iterator 标签 Status 属性使用方法详解 在Web开发中,处理列表数据时经常需要用到迭代器来遍历并展示数据。WebWork框架提供了一个强大的`<ww:iterator>`标签,它允许开发者轻松地遍历集合或数组,并...
JSP 自定义标签 Iterator ...本文介绍了 JSP 自定义标签 Iterator 遍历 List 的实现过程,包括标签类的实现和标签配置文件的配置。通过使用 Iterator 标签,可以方便地遍历 List 中的元素,并将其输出到 JSP 页面中。
在探讨WebWork框架中`iterator`标签的`status`属性使用方法之前,我们先简要了解下WebWork框架。WebWork是Struts框架的一个分支,它是一个基于Java的MVC(Model-View-Controller)框架,用于构建企业级的Web应用。...
通过本文档提供的代码示例,我们将深入探讨`<s:iterator>`标签的使用方法及其与不同数据类型(如简单对象、列表、数组)的交互方式。 ### 一、`<s:iterator>`标签的基本用法 `<s:iterator>`标签允许你在JSP页面上...
迭代器模式是一种设计模式,它提供了一种方法来顺序访问聚合对象的元素,而又不暴露其底层表示。在C++中,迭代器模式通常通过定义一个接口,该接口允许访问和遍历聚合对象的元素,而无需暴露其内部结构。这种模式在...
在Struts2框架中,`<s:iterator>`标签被广泛用于遍历集合或数组等数据结构。本文将深入探讨如何使用Struts2中的`<s:iterator>`标签来遍历二维数组,并通过实例代码来具体说明其用法。 ### Struts2 Iterator标签 ##...
在Struts2中,`iterator`标签是用于遍历集合数据的重要工具,它可以用来迭代Map、List和数组等数据结构,以便在视图层进行展示。本篇文章将深入探讨`iterator`标签在遍历这些数据类型时的具体用法。 首先,我们来看...
本文将详细讲解SSH框架中涉及到的五个关键标签:`set`、`push`、`if/elseif/else`、`iterator`以及`sort`,并结合它们在实际应用中的用法进行深入探讨。 ### `set`标签 `set`标签在Struts2框架中用于在Value Stack...
### JSP通过自定义标签库实现数据列表显示的方法 #### 一、引言 在Web开发中,JSP(JavaServer Pages)作为一种广泛使用的服务器端技术,为动态网页的创建提供了强大的支持。为了提高开发效率和代码的复用性,...
iterator_jsonDemo1的链接:http://download.csdn.net/detail/cafebar123/8816409 运用了Extjs,Struts2, json,iterator技术, 将数据从后台传到Extjs表现层(自带json相关jar包)。注释详细,供参考。 Use ...
在上述描述中,开发者遇到了一个关于`iterator`标签嵌套使用的问题,涉及到`LinkedHashMap`存储的数据结构。让我们深入探讨这个问题。 首先,`Timereport_infoAction`类中有几个关键的属性,包括`timereport_infos`...
在Java中,Iterator接口提供了hasNext()和next()两个核心方法,前者用于检查是否还有更多的元素,后者则返回下一个元素。此外,Iterator还提供了remove()方法,用于从原始集合中移除当前元素。 模拟ArrayList的...
Iterator接口的主要方法包括hasNext()、next()和remove(),它们分别用于判断是否还有更多元素、获取下一个元素和从集合中删除元素。 hasNext()方法是用来判断是否还有更多元素的,如果还有更多元素,它将返回true,...
`Iterator`有三个主要的方法:`hasNext()`用于检查是否还有更多元素,`next()`用于获取下一个元素,`remove()`用于移除当前元素。 在`iterator_jsonDemo1`中,开发者可能创建了一个自定义的类,该类实现了`Iterable...
5. **`checkForComodification()`方法**:这是一个用于实现快速失败(fail-fast)机制的方法,用于检测集合在迭代过程中是否被其他线程或代码进行了修改。如果检测到集合被非法修改,则抛出`...
如果你正在使用的类库版本不支持`iterator()`方法,比如你引用了一个旧版本的集合库,而这个版本并未实现`Iterable`接口,那么`iterator()`将不可用。确保你的项目依赖是最新的,并且与你的代码兼容。 2. **类型...
### C++中的Iterator模式详解 #### 什么是Iterator模式? 在软件工程中,设计模式是一种用于解决特定问题的通用可...总之,Iterator模式是实现算法和数据结构解耦的关键所在,是每个C++程序员都应该掌握的重要概念。
在Java编程语言中,`HashMap`是一个非常常用的数据结构,它实现了`Map`接口,用于存储键值对。`HashMap`使用哈希表实现,提供快速的插入、删除和查找操作。当我们需要遍历`HashMap`中的所有元素时,通常会使用`...
本教程将重点讲解在使用Hibernate时,如何处理查询结果集合,特别是通过`list()`和`iterator()`方法进行数据迭代的操作。 【描述】"http://blog.csdn.net/e421083458/article/details/8794127" 这个链接指向的是一...