关于jsp和servlet的问题

我现在想实现 点击表格中的某一行 然后再点击删除按钮,可以直接删除某条数据,但是现在拿到id一直报错,求大神指导

这是servlet中的代码
private void delete(HttpServletRequest request, HttpServletResponse response) {
try {
request.setCharacterEncoding("utf-8");
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
int id =Integer.parseInt(request.getParameter("id")); //这一行报错,错误是java.lang.NumberFormatException: null

    boolean flag=dao.delete(id);
    if(flag){

        try {
            PrintWriter outt = response.getWriter();
            outt.print("<script>alert('删除成功!');window.location.href='student?type=show';</script>");
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }else{
        try {
            PrintWriter outa = response.getWriter();
            outa.print("<script>alert('删除失败!');window.location.href='student?type=show';</script>");
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}

这是dao层的代码

public boolean delete(int id){
    boolean flag= false;
    Connection connection=null;
    PreparedStatement preparedStatement=null;
    String sql ="delete from student where id = ?;";
    try {
        Class.forName("com.mysql.jdbc.Driver");
        connection=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/school","root","root");
        preparedStatement=connection.prepareStatement(sql);
        preparedStatement.setInt(1, id);
        int result=preparedStatement.executeUpdate();
        if(result>0){
            flag=true;
        }
    } catch (ClassNotFoundException e) {

        e.printStackTrace();
    } catch (SQLException e) {

        e.printStackTrace();
    }



    return flag;

}


这是jsp页面中的获取id的代码

 $(document).ready(function(){
var selectId=0;
$("#modify").click(function(){
window.location.href="student?type=showModify&id="+selectId+"";

});

$("tr").click(function(){
$("tr").removeClass("info");
$(this).addClass("info");
selectId=$(this).data("id");
});


});

    求大神指导。。!!!!

2个回答

 java.lang.NumberFormatException:null // 数字类型转换异常
 // 先输出
 System.out.println(request.getParameter("id")); // 这里应该是个null
 // 也就是说,你前台没把id这个值传过来,最直接的是检查请求带过来的参数,应该是没id这个参数的。

你的id没有传到后台,检查一下前台表单里id的name。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!