您的位置:首页 > 编程语言 > Java开发

java.lang.NumberFormatException: null的解决方法

2017-07-29 22:56 435 查看
    1  首先附上我的代码:

Integer reviewid=Integer.valueOf(request.getParameter("reviewid"));
System.out.println(reviewid);
Integer articleid=Integer.valueOf(request.getParameter("articleid"));
if(ybReviewService.deleteReview(reviewid)>0){
System.out.println("加油啊");
response.sendRedirect("YbReviewServlet?method=list&articleid="+articleid);
}else{
request.setAttribute("msg","删除评论失败!<a href=\"JavaScript:window.history.back()\">返回</a>");

}
}    2  出现这个报错,一般要考虑
Integer.valueOf(request.getParameter("articleid"));
中获取的值,可能是null;当然,也可以通过设置断点或是像我一样插入
System.out.println("加油啊");
这种语句来判断;
    3  所以,要检查你获取的数据是否为空值;

    4  我改过的代码如下,当然,不会报错了;

protected void delete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
Integer reviewid=Integer.valueOf(request.getParameter("reviewid"));
System.out.println(reviewid);
Connection con=null;
con=DBUtil.getDb();
PreparedStatement pstmt=null;
ResultSet rs=null;
YbReview ybReview=null;
String sql="select article_id from yb_review where review_id=?";
try{
pstmt=con.prepareStatement(sql);
pstmt.setInt(1,reviewid);
rs=pstmt.executeQuery();
while(rs.next()){
ybReview=new YbReview();
ybReview.setArticleid(rs.getInt("article_id"));
}
}catch(SQLException ex){
System.out.println(ex.getMessage());
}

Integer articleid=ybReview.getArticleid();
if(ybReviewService.deleteReview(reviewid)>0){
System.out.println("加油啊");
response.sendRedirect("YbReviewServlet?method=list&articleid="+articleid);
}else{
request.setAttribute("msg","删除评论失败!<a href=\"JavaScript:window.history.back()\">返回</a>");

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java.lang.NumberForm