在Jsp页面打印表格的2行2列
      <table border="1">
        <tr>
          <td>姓名</td>
          <td>地址</td>
        </tr>
        <tr>
//下面代码是根据ArrayList里数据显示一个2行2列的表
      <%
        ArrayList vetsName = new ArrayList();
        vetsName.add("x");
        vetsName.add("x1");
        vetsName.add("y");
        vetsName.add("y1");
        for (int i = 0; i < vetsName.size(); i++)
        {
          if(i%2==0)
          {
      %>
         <td><%out.println(vetsName.get(i));%></td>
      <%   }  %>  
 
      <%   else
          {
      %>
          <td><%   out.println(vetsName.get(i));%></td>
          </tr>
      <%
          }
          
        }
      %>
    </table>上面代码哪里写错了. 谢谢顶者有分.

解决方案 »

  1.   

    循环中只打印了</tr>,没打印<tr>
      

  2.   

    List vetsName = new ArrayList();
      

  3.   

    没有错误估计有的错误也是没有<%@ page import="java.util.ArrayList">
      

  4.   


     crazycy(崔毅,blog:http://www.blogjava.net/crazycy/) ( ) 信誉:101    Blog  2006-09-03 20:24:00  得分: 0  
     
     
    没有错误估计有的错误也是没有<%@ page import="java.util.ArrayList">
      
    --------------------------------------------------包加了 问题还存在 
      

  5.   

    **********else without if***************
    这里
          <%   }  %>  
     
          <%   else
              {
          %>
    改成<%}else{%>为什么呢?我也不清楚^_^
      

  6.   

    > 这里
    >       <%   }  %>  
    >       <%   else
    >           {
    >       %>
    > 改成<%}else{%>
    > 为什么呢?我也不清楚^_^如果不改成 <%}else{%>,那么,.jsp 被翻译成 .java 后,中间会多一个 out.print("\r\n") 语句,当然编译就会出错了。其实,如果想验证上面的说法,可以试试改成下面的样子,编译应该没有错误:
          <%   }  %><%   else
              {
          %>另外,如果楼主用的是 Tomcat,应该有办法看到 .jsp 翻译出来的 .java,一看就都清楚了  :)