从manager.jsp发送删除请求,delete.jsp接受请求执行删除,但爆出以下错误:
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: /delete.jsp(3,16) equal symbol expected
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:88)
org.apache.jasper.compiler.Parser.parseAttribute(Parser.java:194)
org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:144)
org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:157)
org.apache.jasper.compiler.ParserController.getPageEncodingForJspSyntax(ParserController.java:435)
org.apache.jasper.compiler.ParserController.determineSyntaxAndEncoding(ParserController.java:378)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:170)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:156)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:296)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:302)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.26 logs.
manager.jsp代码:
<%@page import="java.util.*"%>
<%@page import="java.sql.*"%>
<%@page contentType="text/html;charset=UTF-8"%>
<%@include file="opendata.jsp"%>
<html>
<title>新闻发布</title>
<body>
<%
   int count=0,lastp,numf,numl,prep,nextp,pageno;
   if(request.getParameter("pageno")==null)
   {
   
       pageno=0;
   }
   else
      pageno=Integer.parseInt(request.getParameter("pageno"));
   sql="select * from news";
   rs=smt.executeQuery(sql);
   while(rs.next())
      count++;
   lastp=(int)Math.ceil((double)count/5);
   if(pageno==0||pageno>lastp)
      pageno=lastp;
   numf=pageno*5-4;
   numl=numf+4;
   if(pageno==1)
     prep=1;
   else
     prep=pageno-1;
   if(pageno==lastp)
     nextp=lastp;
   else
     nextp=pageno+1;
   sql="select * from news where id between "+numf+" and "+numl;
   rs=smt.executeQuery(sql);
   %>
   <font size=7 color=green>专家留言板 </font>
   <font color=#008080>站长使用画面</font>
   <hr>
   <center>
   <form action=board.jsp method=POST>
     <table boder=0>
       <tr>
         <td>目前的页次:<font size=2 color=red><%=pageno%></font>/<font color=blue><%=lastp%></font></td>
<td><a href=manager.jsp?pageno=<%=prep%>>[上一页]</a></td>
   <td><a href=manager.jsp?pageno=<%=nextp%>>[下一页]</a></td>
    <td><a href=manager.jsp?pageno=1>[第一页]</a></td>
     <td><a href=manager.jsp>[最后一页]</a></td>
     <td>输入页次<input type=text size=3 name=pageno></td>
     <td><input type=submit name=SEND value=送出></td>
     <td><a href=password.jsp><font color=red size="5">
     <i>站长钻用</i></font></a></td>       </tr>
     </table>
   </form>
   <form action=delete.jsp?pageno=<%=pageno%> method=POST>
  
     <%
        String subject,time,memo;
int id;
while(rs.next())
   {
      
   subject=rs.getString(1);
   time=rs.getString(2);
   memo=rs.getString(3);
   id=rs.getInt(4);
   out.print("<p align=left><input type=checkbox name=D"+id+"value=del>删除第<font color=red>"+id+"</font>");
   out.print("<center>");
   out.print("<table border=1>");
  
    // out.print("<tr><td bgcolor=yellow>时间</td><td>"+time+"</td></tr>");
      out.print("<tr><td bgcolor=yellow>主题</td><td>"+subject+"</td></tr>");
          out.print("<tr><td valign=top bgcolor=yellow>留言</td><td>"+memo+"</td></tr>");
    out.print("</table></p>");
   }
     %>
<input type=submit name=SEND value=确定删除>
<input type=reset value=重新选取>
   </form>
   <hr>
    <center>
<a href=message.html>我要留言</a>
    <a href=manager.jsp>查看留言</a>    
</body>
</html>
delete.jsp代码如下:<%@page import="java.sql*"%>
<%@page import="java.util*"%>
<%@page include file="opendata.jsp"%>
<%@page contentType="text/html;charset=UTF-8"%>
<html>
//<%
//String para,value;
//int pageno,numf,numl;
//if(request.getParameter("pageno")==null)
    //pageno=0;
//else
    //pageno=Integer.parseInt(request.getParameter("pageno"));
//OUT.PRINT(pageno);//numf=pageno*5-4;
//numl=numf+4;
//for(int i=numf;i<=numl;i++)
//{
   // para="D"+String.valueOf(i);
   // value=request.getParameter(para);
   // if(value!=null)
   //{
      // sql="delete from news where id="+i;
    //smt.executeUpdate(sql);
    // }
//}
//sql="alter table news drop id";
//smt.executeUpdate(sql);
//sql="alter table news add id int auto_increment primary key";
//smt.executeUpdate(sql);
//response.sendRedirect
//("manager.jsp");//%>
</html>

解决方案 »

  1.   

    <%@page include file="opendata.jsp"%> 这句话错了,你这个opendata.jsp是读取数据吗?
    建议你用一个页面跳转,再在servlet里跳到delete.jsp页面,免得这个页面<%%>太多,也不美观,不好维护。
      

  2.   

    好像是这个引进的页面有错误
    <%@page include file="opendata.jsp"%> 
    你再检查下
      

  3.   

    看起来乱遭遭的,到底哪些是要注释的,哪些是不要注释的。
    //String para,value;
    //int pageno,numf,numl;
    //if(request.getParameter("pageno")==null)
        //pageno=0;
    //else
        //pageno=Integer.parseInt(request.getParameter("pageno"));
    //OUT.PRINT(pageno);//numf=pageno*5-4;
    //numl=numf+4;
    //for(int i=numf;i <=numl;i++)
    //{
      // para="D"+String.valueOf(i);
      // value=request.getParameter(para);
      // if(value!=null)
      //{
          // sql="delete from news where id="+i;
        //smt.executeUpdate(sql);
        // }
    //}
    //sql="alter table news drop id";
    //smt.executeUpdate(sql);
    //sql="alter table news add id int auto_increment primary key";
    //smt.executeUpdate(sql);
    //response.sendRedirect
    //("manager.jsp");
    最好在循环语句中将sql输出来,看是否想要的sql语句
      sql="delete from news where id="+i;
      System.out.println(sql);
      

  4.   

    <%%>太多,不美观,不好维护。
    太乱了呀
      

  5.   

     int count=0,lastp,numf,numl,prep,nextp,pageno; 
    不能在jsp里面定义int ,改为var,看看试下