struts2显示列表序号的办法
生活随笔
收集整理的這篇文章主要介紹了
struts2显示列表序号的办法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
http://blog.knowsky.com/226680.htm
有的時候需要在頁面上進行計算,比如要顯示十條數據并且十條數據前要有顯示123456……的序號,解決這個問題有兩種辦法。第一種是通過set標簽實現:
<s:set name="a" value=1/>
<s:iterator value="list" status="index">
? ? ? ? <s:property value="#a"/>
? ? ? ? ? <s:set name="a"? value="#a+1"/>
</s:iterator>
第二種辦法就是通過iterator的索引來實現:
<s:iterator value="list" status="index">
? ? ? ? <s:property value="#index.index"/>
</s:iterator>
1、此處的空property元素用于獲得當前iterator的值?
2、status被設成stuts,在iterator的里面就可以通過#stuts取得IteratorStatus的對象。 IteratorStatus類包含當前序號信息,如是否第一個或最后一個,是否為奇數序號。這些信息在我們做格式化的時候,顯得非常有用。
<ol>
<s:iterator value="#request.names" status="stuts">?
<s:if test="#stuts.odd == true">
<li>White <s:property /></li>
</s:if>
<s:else>
<li style="background-color:gray"><s:property /></li>
</s:else>
</s:iterator>
</ol>
struts2.0 的遍歷控件<s:iterator>中的index狀態:
1:odd(奇數)
2:first(首索引)
3:even(偶數)
4:last(尾索引)
5:index(索引項)
如果要在每行中只顯示兩條記錄,這個經常用到的例子來的了,可以這樣用:
<table width="800px" align="center">
<tr>
<s:iterator value="songs" status="st">
<td>
<input type="checkbox" name="songIds" id="<s:property value='id'/>" value="<s:property value='id'/>"><label for="<s:property value='id'/>" class="checkboxLabel">
<s:property value="name"/>
</td>
<s:if test="#st.modulus(2)==0">
<s:if test="#st.last">
</tr></s:if>
<s:else>
</tr><tr></s:else>
</s:if>
</s:iterator>
</table>
這里無非就是要注意 <s:if test="#st.modulus(2)==0">
來判斷整除2是否為0,(也可以用<s:if test="#st.getIndex()%2==0)
并且注意如下的使用 #st.last,判斷是否到了最后一條記錄,并且注意:
iterator標簽有如下方法:
boolean isEven() 當前迭代元素索引是否為偶數;
boolean isOdd() 當前迭代元素索引是否為奇數;
boolean isLast() 是否為最后一條元素;
boolean isFirst() 是否為第一條元素。
有以上元素,那么判斷何時加入tr就非常方便。
總結
以上是生活随笔為你收集整理的struts2显示列表序号的办法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android开发教程:手机震动控制浅析
- 下一篇: p标题/p能设置字体的大小和颜色