当前位置: 代码迷 >> Java Web开发 >> java.lang.NumberFormatException: For input string: "id"该如何处理
  详细解决方案

java.lang.NumberFormatException: For input string: "id"该如何处理

热度:18505   发布时间:2013-02-25 21:05:51.0
java.lang.NumberFormatException: For input string: "id"
<ul>
<c:forEach items="${requestScope.pageInfo.pageData}" var="yhaction">
<li><a href="detailYhAction.do?id=${yhaction.id }">${yhaction.title}</a> </li>
</c:forEach>
</ul>
jsp代码如上,我的实体类YhAction的id是Integer型的,我想遍历输出全部YhAction,然后根据id查看详细情况。
打开这个页面的时候报错,信息如下:(我感觉是莫名奇妙的错误,项目中我有很多相似的页面就没有报错,唯独这个,郁闷啊!!!)。
org.apache.jasper.JasperExceptionjava.lang.NumberFormatException: For input string: "id"
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor

请各位大侠帮忙,不胜感激!!!
页面中的id不是Integer类型

${yhaction.id }链接传递过去还是字符串的,如果用Integer接收就是数字的
如果${yhaction.id }里面有空格和其他字符可能造成转换错误
把id打印出来看取到的是什么?应该是提示类型转换错误,你看一下输出的id是什么,

再测试一下吧
引用:
<c:forEach items="${yhactions}" var="yhaction">
<li><a href="detailYhAction.do?id=${yhaction.id }">${yhaction.title}</a> </li>
</c:forEach>
比如说像上面这样。用<% int id= request.getParameter("id") %>,能娶到吗,……


哥们你可以现在后台 把你的requestScope.pageInfo.pageData 取出来第一个 总可以吧。。。也就是 下标为 0 的。。那个对象取出来。。然后 用这个对象不能渠道 ID  么??这问题应该很好找。。
断点跟踪。从你的detailYhAction开始设置个断点,看查出的yhaction中的id非数字转换错误,有没有用到Integer.parseInt(s),如果s为非数字字符串你的id是否含有空格,trim()后再转如果不出意外,代码出错在detailYhAction.do里。
检查一下你转化id为数字的这一部分的代码

我怀疑你写的是Integer.parseInt("id");
而不是变量id把你贴的那段代码去了可以运行不?先确定是不是这段有问题设置断点是个很好解决问题的办法。。。

java.lang.NumberFormatException: For input string: "id"

从这一点我可判断出来 你是 转型出错的。。。

我建议你在 jsp 面上打印一下<% int  = request.getpara...id %>

..自己试一下 看能不能拿出来id。。。。。。
感觉问题不在你贴的代码中
引用:
设置断点是个很好解决问题的办法。。。

java.lang.NumberFormatException: For input string: "id"

从这一点我可判断出来 你是 转型出错的。。。

我建议你在 jsp 面上打印一下<% int = request.getpara...id %>

..自己试一下 看能不能拿出来id。。。。。。

+1
  相关解决方案