<%@ page contentType="text/html;charset=GB2312"%>
<html>
<head>
<title>杨辉三角</title>
</head>
<body>
<%
   int i,j;
   int a[][]=new int[10][];
   for(i=0;i<10;i++)
   {
     a[i]=new int[i+1];
   }  
   
   for(i=0;i<10;i++)
   {
     for(j=0;j<a[i].length;j++)
     { if (i==j || j==0)
          a[i][j]=1;
       else
          a[i][j]=a[i-1][j-1]+a[i-1][j];
      
     }
   }
   out.println("杨辉三角:"+"<br>");
   for(i=0;i<10;i++)
     { for(j=0;j<a[i].length;j++)
          out.print(a[i][j]+" ");
          out.println("<br>");  
     }
%>
</body>
</html>如何将out.print转为<%= %>输出
上面的程序直接转的话,会出现org.apache.jasper.JasperException错误
试了很多次,都没有成功
请问应该如何解决?

解决方案 »

  1.   

    <%@ page contentType="text/html;charset=GB2312"%>
    <html>
    <head>
    <title>杨辉三角 </title>
    </head>
    <body>
    <%
      int i,j;
      int a[][]=new int[10][];
      for(i=0;i <10;i++)
      {
        a[i]=new int[i+1];
      } 
     
      for(i=0;i <10;i++)
      {
        for(j=0;j <a[i].length;j++)
        { if (i==j || j==0)
              a[i][j]=1;
          else
              a[i][j]=a[i-1][j-1]+a[i-1][j];
         
        }
      }
    %>
    杨辉三角:<br>
    <%
     
      for(i=0;i <10;i++)
        { for(j=0;j <a[i].length;j++)
         %>
          <%=a[i][j]%><br>
         <%
        }
    %>
    </body>
    </html>
      

  2.   

    不行,还是出错org.apache.jasper.JasperException: An exception occurred processing JSP page /index.jsp at line 3229:   for(i=0;i <10;i++)
    30:     { for(j=0;j <a[i].length;j++)
    31:     %>
    32:       <%=a[i][j]%> <br>
    33:     <%
    34:     }
    35: %>
      

  3.   

    就是中间截断 %> 然后加上<%= %> 然后再加上<%完成就好了 jsp中间直接写业务逻辑比较麻烦 应该交给servlet去处理
      

  4.   

    只是打印一个杨辉三角,没必要扯到servlet。楼上小题大作了,一楼的那样做不是没有道理,分开写是可以的。还有我可以非常非常肯定的告诉你,你自己写的也没错,代码没有一点错误。我刚开始一看,一点没看到错误,于是为了保险起见,我把你的代码copy下来实验了一下,完全没问题。从其他方面找原因吧!
      

  5.   

    重启tomcat,再次运行
    错误变成
    org.apache.jasper.JasperException: java.lang.ArrayIndexOutOfBoundsException: 1
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
      

  6.   

    应该是tomcat里的参数问题........
      

  7.   

    <%@ page contentType="text/html;charset=GB2312"%> 
    <html> 
    <head> 
    <title>杨辉三角 </title> 
    </head> 
    <body> 
    <% 
      int i,j; 
      int a[][]=new int[10][]; 
      for(i=0;i <10;i++) 
      { 
        a[i]=new int[i+1]; 
      }  
      
      for(i=0;i <10;i++) 
      { 
        for(j=0;j <a[i].length;j++) 
        { if (i==j || j==0) 
              a[i][j]=1; 
          else 
              a[i][j]=a[i-1][j-1]+a[i-1][j]; 
          
        } 
      } 
      out.println("杨辉三角:"+" <br>"); 
      for(i=0;i <10;i++) 
        { for(j=0;j <a[i].length;j++) {
    %>          <%=(a[i][j]+" ")%> 
    <%
      }
    %>
    <br/>
    <%
        } 
    %> 
    </body> 
    </html> 
      

  8.   

    第二层,要用大扩号.
    理由:你用<%= %>的形式 最后经tomcat认的形式 是多行代码,而不是一行了
          out.write(" \r\n");
          out.write("      ");
          out.print(a[i][j]);
          out.write(" <br> \r\n");
          out.write("    ");
     
      

  9.   

    一楼的把第二次循环的{}都漏了
    <%@ page contentType="text/html;charset=GB2312"%>
    <html>
    <head>
    <title>杨辉三角</title>
    </head>
    <body>
    <%
    int i, j;
    int a[][] = new int[10][];
    for (i = 0; i < 10; i++) {
    a[i] = new int[i + 1];
    } for (i = 0; i < 10; i++) {
    for (j = 0; j < a[i].length; j++) {
    if (i == j || j == 0)
    a[i][j] = 1;
    else
    a[i][j] = a[i - 1][j - 1] + a[i - 1][j]; }
    }
    %>
    杨辉三角:
    <br>
    <%
    for (i = 0; i < 10; i++) {
    for (j = 0; j < a[i].length; j++){
    %>
    <%=a[i][j]%>
    <%
    }
    %><br><%
    }
    %>
    </body>
    </html>
      

  10.   

    其实说到底就是单行代码和多行代码的为题,应为在jsp编译的时候加入了输出的语句所以会出现数组越界的问题
      

  11.   

    <%@ page contentType="text/html;charset=GB2312"%> 
    <html> 
    <head> 
    <title>杨辉三角 </title> 
    </head> 
    <body> 
    <% 
    int i, j; 
    int a[][] = new int[10][]; 
    for (i = 0; i < 10; i++) { 
    a[i] = new int[i + 1]; 
    } for (i = 0; i < 10; i++) { 
    for (j = 0; j < a[i].length; j++) { 
    if (i == j || j == 0) 
    a[i][j] = 1; 
    else 
    a[i][j] = a[i - 1][j - 1] + a[i - 1][j]; } 

    %> 
    杨辉三角: 
    <br> 
    <% 
    for (i = 0; i < 10; i++) { 
    for (j = 0; j < a[i].length; j++){ 
    %> 
    <%=a[i][j]%> 
    <% 

    %> <br> <% 

    %> 
    </body> 
    </html>
      

  12.   

    <%@ page contentType="text/html;charset=GB2312"%> 
    <html> 
    <head> 
    <title>杨辉三角 </title> 
    </head> 
    <body> 
    <% 
    int i, j; 
    int a[][] = new int[10][]; 
    for (i = 0; i < 10; i++) { 
    a[i] = new int[i + 1]; 
    } for (i = 0; i < 10; i++) { 
    for (j = 0; j < a[i].length; j++) { 
    if (i == j || j == 0) 
    a[i][j] = 1; 
    else 
    a[i][j] = a[i - 1][j - 1] + a[i - 1][j]; } 

    %> 
    杨辉三角: 
    <br> 
    <% 
    for (i = 0; i < 10; i++) { 
    for (j = 0; j < a[i].length; j++){ 
    %> 
    <%=a[i][j]%> 
    <% 

    %> <br> <% 

    %> 
    </body> 
    </html>
    <br>不加還是不行