`

s:iterator一行打印三条数据

 
阅读更多

一般使用struts的iterator标签时,我们用它来遍历一个集合,集合当然是多种多样,比如最普通的那种,list里面放的全是用户对象,每个用户拥有name,age等属性,这时做打印的时候,在tr里面,一般是这样

<s:iterator value="customerList">
     <tr>
          <td><s:property value="name" /></td>
          <td><s:property value="age"/> </td>
      </tr>
</s:iterator>

 

 但是想想,一行就放这么两个字段,这样的话假使我只显示这两个,那就得每个用户占一行了,排版实在是太差了,假使有美工的话,我们可以让3个,或者4个用户放在一起,也就是这里的3个tr放一起,做一行。

 

这时候其实我们自己也能把三个用户放在一行显示,依旧是使用iterator,当然,会多出几个判断:

<s:iterator value="serviceLs" var="service" status="st">
		<s:if test="#service.isradio==0">
			<s:if test="#st.index%3==0">
		    <tr>
		    </s:if>
		      	<td><input type="checkbox" name="serviceChkLsList" class="serviceChk" value="${serviceamenityid}"/> <s:property value="serviceamenityname"/></td>
		    <s:if test="#st.index%3==2||#st.last">
		    </tr>
		    </s:if>
	    </s:if>
	    <s:elseif test="#service.isradio==1">
	    	<s:if test="#st.index%3==0">
	    	<tr>
	    	 </s:if>
	    		<td><input type="checkbox" name="serviceChkLsList" class="serviceRdo" value="${serviceamenityid}"/><input type="radio" class="rdo1" name="radio_${serviceamenityid}" value="0_${serviceamenityid}" />${serviceamenitynameAry[0]} <input type="radio" class="rdo1" name="radio_${serviceamenityid}" value="1_${serviceamenityid}"/>${serviceamenitynameAry[1]}</td>
	    	<s:if test="#st.index%==2||#st.last">
	    	</tr>
	    	</s:if>
	    </s:elseif>
    </s:iterator>
 

效果图如下:


 
  • 大小: 112.6 KB
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics