<%@ page language="java" contentType="text/html; charset=GBK"
    pageEncoding="GBK"%>
<%@ page import="java.sql.*" %>
 
 <%
request.setCharacterEncoding("gbk");
 int id = Integer.parseInt(request.getParameter("id"));
 int rootId = Integer.parseInt(request.getParameter("rootid"));
 String title = request.getParameter("title");
 String cont = request.getParameter("cont");
 
 cont = cont.replaceAll("\n" , "<br>"); Class.forName("com.mysql.jdbc.Driver");
 String url = "jdbc:mysql://localhost/bbs?user=root&password=root";
 Connection conn = DriverManager.getConnection(url); conn.setAutoCommit(false); String sql = "insert into article values (null, ?, ?, ?, ?, now(), 0)";
 PreparedStatement pstmt = conn.prepareStatement(sql);
 Statement stmt = conn.createStatement(); pstmt.setInt(1, id);
 pstmt.setInt(2, rootId);
 pstmt.setString(3, title);
 pstmt.setString(4, cont);
 pstmt.executeUpdate();
 
 stmt.executeUpdate("update article set isleaf = 1 where id = " + id); conn.commit();
 conn.setAutoCommit(true); stmt.close();
 pstmt.close();
 conn.close(); response.sendRedirect("ShowArticleTree.jsp");
 %>
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=GBK">
 <title>Insert title here</title>
 </head>
 <body>
 <font color="red" size="7">
  OK!
 </font>
 </body>
 </html>
上面是我写的代码
错误提示如下
HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: java.lang.NumberFormatException: For input string: ""
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)
root cause java.lang.NumberFormatException: For input string: ""
java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
java.lang.Integer.parseInt(Integer.java:470)
java.lang.Integer.parseInt(Integer.java:499)
org.apache.jsp.ReplyOK_jsp._jspService(ReplyOK_jsp.java:60)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
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)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs.老提示我这个我真的不知道怎么办?希望大家帮帮忙

解决方案 »

  1.   

    java.lang.NumberFormatException: For input string: "" 就是说提交的id 和rootid为空 你检查下前个页面的代码 看看这两个属性没有没搞错
      

  2.   

    同意
    用debug调试一下 很容易解决的
      

  3.   

    int id = Integer.parseInt(request.getParameter("id")); 
    int rootId = Integer.parseInt(request.getParameter("rootid"));其中request根据参数得到的值是空值,你要检查你上个页面的id或者rootid是否为空值
      

  4.   

    <%@ page language="java" contentType="text/html; charset=gbk"
        pageEncoding="gbk"%>
       
      
      
      
      
      
      <%
      int id = Integer.parseInt(request.getParameter("id"));
      int rootid = Integer.parseInt(request.getParameter("rootid"));
      %>
      
        
        
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gbk">
    <title>title</title>
    </head>
    <body>
    <form action="ReplyOK.jsp" method="post">
    <input type="hidden" name="id" value"<%=id %>">
    <input type="hidden" name="rootid" value"<%=rootid %>">
    <table border="1">
    <tr>
    <td>
    <input type="text" name="title" size="80">       
    </td>
    </tr>
    <tr>
    <td>
    <textarea cols="80" rows="12" name="cont">
    </textarea>       
    </td>
    </tr>
    <tr>
    <td>
    <input type="submit" value="提交">       
    </td>
    </tr>
    </table>
    </form>
    </body>
    </html>
    这是我上一个页面。。我很菜的。。看了好久也没看明白哪里出了问题?还是希望大家帮帮我!再次感谢了!
      

  5.   

     int rootid = Integer.parseInt(request.getParameter("rootid")); int 后面原来是rootId <input type="hidden" name="rootid" value" <%=rootid %>"> 
    然后下面  改成<input type="hidden" name="rootid" value" <%=rootId %>"> 
    终于解决了  谢谢大家啊!