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>
 

效果图如下:


 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值