论坛首页 Java企业应用论坛

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

浏览 7742 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (9)
作者 正文
   发表时间:2007-12-15  
  假如有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>



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

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

         <s:if test="#st.getIndex()%3==0||#st.first">  
              <tr>      
         </s:if>
??
可以把代码写出来一下吗?
谢谢.
0 请登录后投票
   发表时间:2008-04-13  
我想知道,,struts1的标签可以实现这样的吗?怎么实现的??
0 请登录后投票
   发表时间:2008-05-03  
cooperList 这个那里来的
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics