如果想在一行中迭代多本书,该如何写迭代标签(logic:iterate )呢?
    迭代后放到table里如:
                                图书名称  图书名称  图书名称  图书名称
                     在一行中有 图书1    图书2    图书3    图书4
            然后下一行 图书5   图书6   图书7   图书8
   在每一行都迭代四个,这个迭代标签该怎么写呢?我把迭代的内容放在了Vector中.<%
    Vector books = new Vector();
    books.add("book1");    
    books.add("book2");    
    books.add("book3");    
    books.add("book4");    
    books.add("book5");    
    books.add("book6");    
    books.add("book7");    
    request.setAttribute("books",books);
%>
<logic:iterate name="books" id = "book" indexId = "index">
    <table>
     <tr>
     <td>
    <bean:write name="book"/>
     </td>
     </tr>
       <%  
        if((index.intValue()+1)%4 == 0)
             //不知道这个地方用表达式怎样写好,那位能告诉我呢?    %>
    </table></logic:equal>
 </logic:iterate>

解决方案 »

  1.   


    <%@ page contentType="text/html;charset=GB2312" import="java.util.*"%>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
    <% 
        Vector books = new Vector(); 
        books.add("图书1");    
        books.add("图书2");    
        books.add("图书3");    
        books.add("图书4");    
        books.add("图书5");    
        books.add("图书6");    
        books.add("图书7");    
        books.add("图书8");
        books.add("图书9");    
        books.add("图书10");    
        books.add("图书11");    
        books.add("图书12");
        request.setAttribute("books",books); 
    %>
    <table>
    <logic:iterate name="books" id = "book" indexId = "index"> 
    <bean:write name="book"/>
    <% if((Integer.valueOf(index)+1)%4==0){%>
    <br>
    <%} %>
    </logic:iterate>
    <table>
      

  2.   

    要以用二楼的...
    楼主是把放table外面去了。。肯定不行。。
    除非你又在外面加table,建议楼主去用Dreamweaver先建个html把表格建好再用logic:iterate
    这样看起来直观,比较容量知道怎么用logic:iterate
      

  3.   

    br。。我太受不了啦
    应该是这样
    <% if((Integer.valueOf(index)+1)%4==0){%>
    <tr><!--如果能整除,换新的行(也就是tr开始嘛)--><td><bean:write name="book"/> </td><!--这里自然就是内容显示了--><%}
    if((Integer.valueOf(index)+1)%4==3){
     %>
    </tr>//如果余数离4还差3,那就是一行结束,tr结束
    <%}%>
      

  4.   

     
    <html:html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=GBK"/>
    <title></title>
    </head>
    <body>
    <%
        ArrayList books = new ArrayList(); 
        books.add("图书1");    
        books.add("图书2");    
        books.add("图书3");    
        books.add("图书4");    
        books.add("图书5");    
        books.add("图书6");    
        books.add("图书7");    
        books.add("图书8");
        books.add("图书9");    
        books.add("图书10");    
        books.add("图书11");    
        books.add("图书12");
        request.setAttribute("books",books); 
    %>
    <table>
    <tr>
    <logic:iterate id="book" name="books" indexId="index">
    ${ index%4==0 ? "</tr><tr>" : "" }
    <td><bean:write name="book"/></td>
    </logic:iterate>
    </tr>
    </table>
    </body>
    </html:html>