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


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

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


    Java代码 复制代码
    1. <table width="540" border="0" cellspacing="0" cellpadding="0">   
    2.        <s:iterator value="cooperList" status="st">   
    3.   
    4.          <s:if test="#st.odd||#st.first">   
    5.               <tr>       
    6.          </s:if>   
    7.   
    8.        <td width="200" height="20">   
    9.          <a href="showSelCooper.action?oid=<s:property value="oid" />" target="_blank"><s:property value="title"/></a></td>   
    10.   
    11.         <s:if test="#st.even||#st.last">   
    12.               <tr>       
    13.         </s:if>   
    14.         </s:iterator>   
    15.                 </table>  



    因为iterator标签有如下方法:
    boolean isEven() 当前迭代元素索引是否为偶数;
    boolean isOdd() 当前迭代元素索引是否为奇数;
    boolean isLast() 是否为最后一条元素;
    boolean isFirst() 是否为第一条元素。
    有以上元素,那么判断何时加入tr就非常方便。

    假如是多列(两列以上),那么我们就可以使用如下方法:
    int getIndex() 返回当前迭代元素的索引
    用它来计算你何时需要加入tr标签的开头和结尾,无非就是if判断的表达式复杂一些,方法还是一样的。
    假如是多列(两列以上),那么我们就可以使用如下方法:
    int getIndex() 返回当前迭代元素的索引
    用它来计算你何时需要加入tr标签的开头和结尾,无非就是if判断的表达式复杂一些,方法还是一样的。

    <s:if test="#st.getIndex()%3==0||#st.first">
    <tr>
    </s:if>
  • 相关阅读:
    Leetcode 35. 搜索插入位置 二分查找
    《算法竞赛进阶指南》 第一章 Acwing 91. 最短Hamilton路径
    《算法竞赛进阶指南》 第一章 Acwing 90. 64位整数乘法
    《算法竞赛进阶指南》 第一章 Acwing 89. a^b 位运算 更新bitset版本
    挑战程序设计竞赛 2章习题 Aizu
    挑战程序设计竞赛 2章习题 poj 2718 Smallest Difference dfs
    Leetcode 33. 搜索旋转排序数组 二分
    Leetcode 30. 串联所有单词的子串
    LeetCode 22. 括号生成 DFS
    Leetcode 16. 最接近的三数之和 及后继几题
  • 原文地址:https://www.cnblogs.com/jamin/p/1231121.html
Copyright © 2020-2023  润新知