中易网

java.lang.Integer.parseInt(Unknown Source) 小小问题..

答案:6  悬赏:50  
解决时间 2021-01-17 21:12
  • 提问者网友:咪咪
  • 2021-01-17 08:33
java.lang.Integer.parseInt(Unknown Source) 小小问题..
最佳答案
  • 二级知识专家网友:玩世
  • 2021-01-17 08:46
request.getParameter("id") 可能为空
检查一下表单数据
要有name = “id” 的文本编辑框,并且value需付初值
全部回答
  • 1楼网友:洎扰庸人
  • 2021-01-17 14:13
你的id值没有获取出来,有可能是个空字符串,不知道我说的对不对,你看看吧
  • 2楼网友:大漠
  • 2021-01-17 13:12
你的原来页面没有请求ID参数值造成的,请你检查一下!
  • 3楼网友:佘樂
  • 2021-01-17 11:35
格式转换出现异常,request.getParameter("id")可能为空,追问嗯...现在就是不知道原因哈追答此页面的前一个页面中有id这个参数吗?追问有的,在该jsp页面中都可以 显示出来的..追答有这个参数,但是可能在传参数的时候这个id代表的值为空,也可能是页面的重定向或者是请求转发的问题
  • 4楼网友:野味小生
  • 2021-01-17 10:16
1、前台根本原因
<% int id = Integer.parseInt(request.getParameter("id"));%>这里的id为null。
你打开这个JSP页面按下列方式打开:
2、测试方法
http://localhost:8080***.jsp?id=1
这样才可以获取id值
估计你是直接http://localhost:8080***.jsp这样打开的,id就是个null。
3、后台原因:
理由:request.getParameter("id")是个null值。
NoticeUpdateAction.java:28行应该有个将字符串转换成数字的代码,估计是:
int id = Integer.parseInt(request.getParameter("id"));出错了
4、解决方法:
int id = Integer.parseInt(request.getParameter("id"));
你的这行代码存在很大的缺陷,不管你其他代码多么完美,这行代码最好都要给加个catch块来处理NumberFormatException这个运行时异常。如下:
int id = 0; //非数字字符串时给个默认值,具体是什么值根据你的业务来判断
try
{
id = Integer.parseInt(request.getParameter("id"));
}
catch(NumberFormatException e)
{
logger.error("NumberFormatException : id = " + request.getParameter("id"));
}
  • 5楼网友:琴狂剑也妄
  • 2021-01-17 09:45
request.getParameter("id")值为null 不信你可以写死一个字符串数字测试一下看还报错不追问为什么 页面的值 没有传递过去呢?
类似的功能里 好像有 完全一样的句子 可是也咩报错啊??..追答其实我没了解你的业务 我只是知道哪里出null指针错误了 你现在是要干什么流程 页面提交参数到action 还是action传递参数到页面 啊追问页面里的参数提交到Action嘛...
提交到名为noticeupdateAction的Action并且传递过去一个id值呀追答<% int id = Integer.parseInt(request.getParameter("id"));%>
那你这个是干嘛呢? 页面上有类似的东西吗?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息