`

利用Struts2标签实现多列显示数据

阅读更多
假如有jsp页面要实现一个列表信息,格式如下:
第1条信息 第2条信息
第3条信息 第4条信息
第5条信息 第6条信息
第7条信息 第8条信息
.....

搜索过别的方法,很多人运用jsp代码写入页面来进行循环判断。其实用struts2自带的标签可以实现同样效果,利用iterator标签进行循环,里面用if标签判断何时加入tr标签的开头和结尾,下面实现了两列信息列表的情况:
<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判断的表达式复杂一些,方法还是一样的。

转自:http://smilehehe.iteye.com/blog/148593
分享到:
评论
3 楼 sech 2008-08-12  
<table width="321" height="251" align="center" cellpadding="0" cellspacing="0" border="1">
      <c:set value="1" var="index"></c:set>
  <tr>
      <logic:iterate name="list" id="item">
      <td width="66" align="center"><bean:write name="item" property="id" /></td>
      <c:if test="${index%4==0}">
   </tr><tr>
       </c:if>
       <c:set value="${index+1}" var="index" />
     </logic:iterate>
     <c:set value="${fn:length(list)%4}" var="size"/>
     <c:if test="${size==3}">
      <td width="66" align="center">&nbsp;</td>
      </tr>
    </c:if>
 <c:if test="${size==2}">
      <td width="66" align="center">&nbsp;</td>
      <td width="66" align="center">&nbsp;</td>
      </tr>
    </c:if>
    <c:if test="${size==1}">
      <td width="66" align="center">&nbsp;</td>
      <td width="66" align="center">&nbsp;</td>
      <td width="66" align="center">&nbsp;</td>
      </tr>
    </c:if>
 
    </table>
2 楼 sech 2008-08-12  
<%int i=0;final int j=10;%>
   <logic:present name="result">    	      
           <img  src="../images/dog.gif"  />
           <logic:iterate id="news" name="result" property="companyNews">
           <%if(j==i || 0==i){i=0;%>
             <%}%>
         <font ></font><%=i+1 %>.<a href="../in.do?action=postlook&id=<bean:write name="news" property="id"/>">
         <bean:write name="news" property="title"/></a>&nbsp;&nbsp;(<bean:write name="news" property="modifyDate"/>)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <%if((j-1)!=i)
       {i++;}
       else{i++;%>
        <%}%>
        </logic:iterate>
        <%if((j-1)!=(i-1)){%>
       <%}%>
</logic:present>

这个有计数功能,如果要实现分页效果,只要对这个计数进行判断就可以了,是列的整数输出<tr>,否则就输出<td>,这样实现分列效果
1 楼 magike99 2008-08-11  
struts1有类似的方法实现吗?

相关推荐

    Struts2标签中文文档(html和chm格式)

    这个文档详细列出了所有Struts2标签的用法、属性、事件和示例,对于初学者和经验丰富的开发者都是极其宝贵的资源。 另一方面,`struts2-tags-API.zip`可能是HTML版本的文档源文件,或者是一个包含多个HTML文件的...

    struts2 标签 api chm

    通过查阅这个CHM文件,开发者可以快速掌握Struts2标签的使用方法,提高开发效率,减少错误,同时也可以更好地理解和利用Struts2框架的优势。对于初学者,了解和熟练使用Struts2标签API是掌握Struts2框架的关键步骤。

    struts2标签详解(收集)汇编.pdf

    Struts2是一个强大的MVC框架,它的标签库是其核心特性之一,极大地简化了视图层的开发,同时提供了丰富的功能。...通过熟练掌握这些标签,开发者可以更好地利用Struts2框架构建高效、可维护的Web应用。

    struts2的jar包,中文教程,标签介绍

    `struts2.0--tags.doc`文档可能详细列出了所有可用的标签及其用法,如`s:property`用于显示Action属性,`s:form`用于创建表单,`s:iterator`用于遍历集合数据,`s:if`和`s:else`用于条件判断,以及`s:submit`用于...

    JSP_struts2标签大全

    Struts2标签库由一系列功能各异的标签组成,它们能够帮助开发者实现复杂的页面交互功能。以下是对部分核心标签的详细介绍: ##### 1. **`&lt;s:a&gt;`** 标签 - **用途**:用于创建HTML超链接,相当于HTML中的 `...

    查询系统JDBC+struts2

    标题中的“查询系统JDBC+Struts2”指的是一个基于Java技术栈的Web应用程序,它利用JDBC(Java Database Connectivity)进行数据访问,并结合Struts2框架来处理用户请求和展示结果。这样的系统通常用于实现数据库查询...

    用struts分页标签

    下面我们将详细探讨如何利用Struts分页标签来实现高效的页面导航。 首先,我们需要理解分页的基本原理。分页是将大量数据分成若干个小部分,每次只加载一部分数据到页面上,以提高用户体验和网页加载速度。在Struts...

    struts2file2

    在Struts2中,文件上传通常依赖于`Commons FileUpload`库,这是一个Apache提供的用于处理HTTP请求中多部分/表单数据的组件。项目中会有一个专门的Action类处理文件上传请求,该Action类可能会包含一个`File`或`...

    使用struts2的标签,在页面上用列表的方式列出action里集合中所有元素的所有属性值

    要将这些元素的属性值展示在页面上,我们可以利用Struts2提供的迭代标签`&lt;s:iterator&gt;`和属性访问标签`&lt;s:property&gt;`。下面是一个简单的示例: ```jsp &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt; 属性1 ...

    struts 2Bhibernate实现的教务选课信息管理系统.rar

    总的来说,"struts 2Bhibernate实现的教务选课信息管理系统" 是一个典型的 Java Web 应用,它利用 Struts 2 的 MVC 设计模式来处理用户交互,通过 Hibernate 实现与数据库的高效交互,以构建稳定、高效的教务管理...

    struts2入门教程

    - **Struts2框架实现数据校验**:利用Struts2内置的验证框架进行自动验证,包括字段级验证和Action级验证。 #### 五、国际化实现 - **页面的国际化**:通过资源文件实现不同语言版本的切换。 - **Action的国际化**...

    struts1-html标签

    通过这些标签,开发者不仅能够快速构建出功能丰富的表单,还能利用Struts框架提供的强大功能进行表单验证和数据绑定。理解每个标签的基本用法及可选属性,将有助于提高Web应用程序的开发效率和用户体验。

    Struts2电子拍卖系统含数据库

    这个“Struts2电子拍卖系统”是一个实现在线拍卖功能的项目,利用了Struts2框架的强大功能,为用户提供了一个平台进行物品的竞拍。 在描述中提到的“含数据库导入语句”,意味着此项目包含了数据库相关的脚本或文件...

    struts2对于checkboxlist的换行

    这篇博客讨论的是如何在Struts2中处理`checkboxlist`的换行问题,这在创建多列或美观的表单布局时非常有用。 `checkboxlist`在Struts2中通常与一个Action类中的属性关联,用于收集用户的多选数据。在HTML中,复选框...

    struts2 帮助文档和中文学习文档

    8. AJAX支持:如何利用Struts2实现异步请求和响应。 9. RESTful Web服务:如果教程包含这部分,将解释如何用Struts2构建RESTful接口。 **Struts2.0中文教程(struts2.0中文教程.chm)** 此教程可能针对Struts2的...

    struts2的速成教程,充电的都来看了

    - **文件上传**:讲解如何使用Struts2实现文件上传功能,包括前端表单设计和后端逻辑处理。 - **文件下载**:介绍Struts2中文件下载的方法,包括设置响应头信息、读取文件等步骤。 #### 十一、视图浅析 - **视图...

    达内当当struts2版本

    项目可能利用了Struts2的这些特性,实现了与数据库的交互、权限管理等功能。 7. **异常处理**:Struts2提供了全局的异常处理机制,通过配置可以在发生异常时统一处理,比如展示错误页面或返回特定的HTTP状态码。 8...

    struts2.5.2demo

    在分析Struts2.5.2Demo项目时,我们不仅需要理解上述概念,还要关注具体代码实现,如Action类的编写、配置文件的设置、JSP页面的结构以及如何利用Struts2提供的特性来优化和扩展应用。这有助于深入掌握Struts2框架的...

    Struts2入门教程。包括jquery集成等。入门必看

    - 内置验证规则:利用Struts2提供的验证注解(如`@Required`)来自动校验字段。 - 自定义验证器:允许开发者实现自己的验证逻辑,增强灵活性。 #### 四、国际化实现 - **页面的国际化**:通过资源文件(`....

Global site tag (gtag.js) - Google Analytics