cuojing0496 2017-05-20 01:22 采纳率: 0%
浏览 840

关于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条回答 默认 最新

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

报告相同问题?

悬赏问题

  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体