java.lang.NumberFormatException: For input string: ""
我找视频教程写了留言本的程序,添加和查看是正确的,编辑是可以根据ID取到该留言信息,但是编辑后保存就报错,找半天不知道错哪里
这个是GuestbookAction里的代码
public ActionForward edit(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
DynaValidatorForm f = (DynaValidatorForm) form;
String id=request.getParameter("id");
Guestbook gb=manager.getGuestbook(id);
//执行这句是正确的,可以取到相关字段的值并显示在edit页面
f.set("name", gb.getName());
f.set("email",gb.getEmail());
f.set("url", gb.getUrl());
f.set("title", gb.getTitle());
f.set("content", gb.getContent());
request.setAttribute("guestbook.article.id", id);
return mapping.findForward("guestbook.edit");
}
public ActionForward save(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
Guestbook gb=null;
DynaValidatorForm f = (DynaValidatorForm) form;
String id=request.getParameter("id");//可以输出ID,说明取到了ID
if(id==null||id==""){
gb=new Guestbook();
}else{
gb=manager.getGuestbook(id);
//错误好像在这里,但是和edit方法中调用的是同一函数啊
}
gb.setName((String)f.get("name"));
gb.setEmail((String)f.get("email"));
gb.setUrl((String)f.get("url"));
gb.setTitle((String)f.get("title"));
gb.setContent((String)f.get("content"));
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String time=sdf.format(new Date());
gb.setTime(time);
manager.save(gb);
return list(mapping,form,request,response);
}