<table width="744" height="233" border="0" align="center" cellpadding="0" cellspacing="0"> <%
    int size=list.size;  //需要遍历的数据总条数
     int lie=3;      //分多少列显示
    for(int i=0;i<size;){
 %>
    
  <tr>
    
    <%
      for(int j=0;j<lie;j++){
    %> 
    <td><%if(i<size)%><%=list.get(i).getXXX()%></td>
    <%i++;}%>
  </tr> 
  
 <%}></table>刚刚想到了一个笨法,可能很不规矩,有没有简洁的方法?

解决方案 »

  1.   

    <table>
    <%
    int length = list.size();
    for(int i = 0; i < length; i++){
    %>
    <tr>
    <%
      for(int p = 0 ; p < 3; p++){
        int pt=i*3+p;
        if(pt<length){
            Object o = (Object)list.get(pt);
          %>
             <td>
                  ....组织你的显示数据
             </d>
          <%
        }
      }
    %>
    </tr>
    <%   
    }
    %>
    </table>
      

  2.   

     <%
                  
                     List list = xxxxx;//用你自己的方法得到list
                     for(int i=0;i<list.size();i++)
                     {
                     对象 vote = (对象)list.get(i);
                     int dnCandidate =  vote.getDnCandidate();//编号
             String dcName = vote.getDcName();//名称
             String dcRe = vote.getDcRe();//获得备注
            
                     %>
                    <tr>
           
                      <td height="30" align="center" valign="middle" bgcolor="#E1EFFC"><%=dnCandidate%></td>
                      <td height="30" align="center" valign="middle" bgcolor="#E1EFFC"><%=dcName%></td>
                      <td height="30" align="center" valign="middle" bgcolor="#E1EFFC"><%=dcRe!=null?dcRe:""%></td>
                 
                    </tr>
                    
                    <%
                    }
                    }
      

  3.   

    for(int i=0;i<list.size();i++){
     out.println("<tr>");
       for(int p=0;p<3;p++){
         out.println("<td>list.get(i)</td>");
       }
       if(i==list.size()-1 || p==3){
         out.println("</tr>");
       }
    }
      

  4.   


    for(int   i=0;i <list.size();i++){ 
      out.println( " <tr> "); 
          for(int   p=0;p <3;p++){ 
              out.println( " <td> list.get(i) </td> "); 
          } 
          if(i==list.size()-1   ||   p==3){ 
              out.println( " </tr> "); 
          } 

      

  5.   

    利用for循环for(int i=0;i<list.size();i++)
    {//第一个为0
    if(i%3==0){
    %><tr><%
    }
    %>
    <td .....><%=list.get(i)%></td>
    <%
    if(i%3==2){
    %></tr>
    <%
    }
    }
    if(list.size()%3!=2){
    %>
    </tr><%
    }
    %>
    //就是能被0为第一个 除3余0的就是第一个 除3余数2的就是第3个 最后for结束还要判断最后是不是没关..大概就是这样
      

  6.   

    List list = (String)request.getAttribute("list");
    Iterator iter = list.iterator();
    while(iter.hasNext()){
         Bean类  bean对象 = (Bean类)iter.next();
         %>
           <tr>
              <td><%=bean对象.getXXX()%></td>
           </tr>
    <%
    }
    %>
    就是用迭代输出.