用table啊
循环内部嵌套一个td标签

解决方案 »

  1.   

    <table>
    <%int zj = 0;
      int zk = 4;%> 
    <logic:iterate id="blist" name="sMSForm" property="blist">
     <bean:define id="zi" name="blist" property="seq" type="java.lang.String"/>
            <%int zi = Integer.parseInt(index.toString());
            if(zi%zk==0){
               if(zi==0){%>
                     <tr bgcolor="#FFFFFF">
                <%}
                else{%>
                     </tr><tr bgcolor="#FFFFFF">
                <%}
            }%>
    <td><%=zi%></td>
    <%zj++;%>
     </logic:iterate>
    <%if((zj%zk)>0){%>
    <%for(int k = 0;k<(zk-(zj%zk));k++){%>
    <td>&nbsp;&nbsp;</td><td>&nbsp;&nbsp;</td>
    <%}}%>
    </table>
      

  2.   

    <table>
      <tr>
         <logic:iterate id="blist" name="sMSForm" property="blist" indexId="index">
             <bean:define id="flag" value="${(index+1)%4}" scope="request"/>
             <logic:equal name="flag" value="0" scope="request">
                 </tr><tr>
             </logic:equal>
             <td>
                 <bean:write name="blist" property="seq"/>
             </td>
         </logic:iterate>
      </tr>
    </table>
      

  3.   

    blist,你可以在这个list的对象里面加个属性,比方说nextrow(boolean)
    然后在你循环打印的里面加上
    <logic:equal name="blist" property = "nextrow"value="true" scope="request">
         <br>    
     </logic:equal>
      

  4.   

    唉, STRUTS标签的悲哀啊, 还是快丢掉不要用了,强烈建议用JSP的C标签, 比STRUTS的循环标签好用100倍, 像楼主的问题也很好解决, 而且绝对不用在页面嵌套JAVA代码, 方便维护。
      

  5.   

    jstl是方便,但是:lip009(深蓝忧郁) 的代码也能解决问题
      

  6.   

    <tr>
    <logic:iterate id="blist" name="sMSForm">
    <td><bean:write name="blist"property="seq" /></td>
    </logic:iterate>
    </tr>
      

  7.   

    不过用equal的那种我实现,不知道为什么我用equal老是不起作用,不抱错也不显示。。