论坛首页 Java企业应用论坛

struts2中iterator标签的嵌套使用(if/else)

浏览 9859 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-12-25  
要分行和列显示同一个属性的不同记录,即该属性存在于数据库的不同记录结果
如:我要显示与zhaopin对应的danweixinxi中的name的所有记录,每行显示3列
根据记录条数计算行数,代码如下:
<tr>
     <s:iterator id="zhaopin" value="list" status="st">          
     <td><s:property value="#zhaopin.danweixinxi.name"/></td>
     <!-- 判断是否整除3 也可以这样写 #st.getIndex()%3==0 -->
         <s:if test="#st.modulus(3)==0">
          <s:if test="#st.last">
         </tr>
          </s:if><s:else>
                  </tr><tr>
                  </s:else>
         </s:if>
</s:iterator>

这里list是存在于Action中的zhaopin集合属性,所以可以直接读取,需要通过id属性值来读取对应的信息值。关键是:这里的循环,tr,td的控制,#st.last,判断是否到了最后一条记录来结束所有行,否则换行继续读取数据。
iterator标签还有如下方法:
  boolean isEven() 当前迭代元素索引是否为偶数;
  boolean isOdd() 当前迭代元素索引是否为奇数;
  boolean isLast() 是否为最后一条元素;
  boolean isFirst() 是否为第一条元素。
用这些方法判断元素位置及个数判断就很方便,以利于有效换行
   发表时间:2008-12-28  
你现在都用struts2了?
0 请登录后投票
   发表时间:2008-12-29  
嗯 很久没用struts1了 你也需要用用了 很不错的啊啊
0 请登录后投票
   发表时间:2008-12-29  
Struts1中没有这些标签吗?
0 请登录后投票
   发表时间:2008-12-29  
liucl_tiger 写道

Struts1中没有这些标签吗?

我所知道的是有这些标签,没modulus,last这些方法,但它应该可以用别的方法去实现
0 请登录后投票
论坛首页 Java企业应用版

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