java.lang.NumberFormatException: null

tjzero_sapce 2009-03-23 10:09:36
当jsp页面中的该代码提交
<form name="pagination"  action="PagInationServlet" method="post">
<input type="hidden" name="result1" value="${requestScope.result1}">
<input type="hidden" name="result2" value="${requestScope.result2}">
<input type="hidden" name="result3" value="${requestScope.result3}">
<select name="pageForm" onchange="choosePageIndex()">
<c:forEach items="${requestScope.listPage}" var="page">
<option value="${page }" >${page }</option>
</c:forEach>
</select>
</form>


到了
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

String result1 = request.getParameter("result1");
String result2 = request.getParameter("result2");
String result3 = request.getParameter("result3");
lastZxBean lastZx = new lastZxBean();
String temp = request.getParameter("choosePageIndex");
Integer temp2 = Integer.valueOf(temp);
int choosePageIndex = temp2.intValue();
List list = lastZx.query(choosePageIndex);
request.setAttribute("objResult", list);
request.setAttribute("result1", result1);
request.setAttribute("result2", result2);
request.setAttribute("result3", result3);
request.getRequestDispatcher("jsps/list.jsp").forward(request, response);
}


报出异常
java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Integer.java:415)
at java.lang.Integer.valueOf(Integer.java:553)
at com.xindun.controller.PagInationServlet.doGet(PagInationServlet.java:55)
at com.xindun.controller.PagInationServlet.doPost(PagInationServlet.java:79)


具体指向了
String temp = request.getParameter("choosePageIndex");
Integer temp2 = Integer.valueOf(temp);
int choosePageIndex = temp2.intValue();

但是我在编写的时候 没有出错的啊 怎么回事呢?
...全文
2668 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzy3696 2011-10-10
  • 打赏
  • 举报
回复
同样的错误,来学习下
smallPOato 2011-08-26
  • 打赏
  • 举报
回复
同样的错误,来学习下
wuyueyangexing 2010-04-14
  • 打赏
  • 举报
回复
也是这个错
wal812834184 2010-03-27
  • 打赏
  • 举报
回复
留个言再说!
xiaodi2 2009-12-30
  • 打赏
  • 举报
回复
设个断点测试一下吧。
zhangbc3 2009-03-25
  • 打赏
  • 举报
回复
String temp = request.getParameter("choosePageIndex");
Integer temp2 = Integer.valueOf(temp);


错误在这里 temp没有接收到值 转换成integer的时候就报错了 你是不是要接收pageform的值???
BearKin 2009-03-25
  • 打赏
  • 举报
回复
我再说一次 你获得的不是NULL 是个值为“NULL”的字符串!!!粑嘎....
Study_Work_2009 2009-03-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zhj92lxs 的回复:]
很显然应该是pageForm,而不是choosePageIndex
[/Quote]
应该是那样
simpledong 2009-03-24
  • 打赏
  • 举报
回复
choosePageIndex 这个属性为NULL
所以在Integer.parse的时候出错了

估计是LZ忘记什么时候把这个属性给删除掉了或者改名字了吧
在检查一下吧
xiyangnango 2009-03-24
  • 打赏
  • 举报
回复
关注中。。。
BearKin 2009-03-24
  • 打赏
  • 举报
回复
你把一个 "null"的字符串转换为INTEGER 当然会出错(之所以出的不是空指针是因为你这个NULL是个字符串。。。)
ouyangxiaokang6 2009-03-24
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 tjzero_sapce 的回复:]
引用 13 楼 huguang 的回复:
String temp = request.getParameter("choosePageIndex");
temp这里是null;
但是不过报异常,
定义null没有问题
使用null才会有问题


这个我清楚了 , 使用的时候报异常 ,

Java codeInteger temp2 = Integer.valueOf(temp);
int choosePageIndex = temp2.intValue();
List list = lastZx.query(choosePageIndex);


这里是被使用了的 ,按说temp 是null ,应该是报 NullP…
[/Quote]
谁说temp为null的时候报空指针呀,lz好好看看文档吧。temp2=null才报空指针呢
tjzero_sapce 2009-03-24
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 huguang 的回复:]
String temp = request.getParameter("choosePageIndex");
temp这里是null;
但是不过报异常,
定义null没有问题
使用null才会有问题
[/Quote]

这个我清楚了 , 使用的时候报异常 ,
Integer temp2 = Integer.valueOf(temp);
int choosePageIndex = temp2.intValue();
List list = lastZx.query(choosePageIndex);

这里是被使用了的 ,按说temp 是null ,应该是报 NullPointerException 的 但是报的是 NumberFormatException ,


why ?
ouyangxiaokang6 2009-03-24
  • 打赏
  • 举报
回复
temp=null了吧。看看你要得值传过来了吗?
suncheng_hong 2009-03-24
  • 打赏
  • 举报
回复
NumberFormatException 就是你页面传过来一个非数字的字符串,在转换成数字过程中出现异常。
huguang 2009-03-24
  • 打赏
  • 举报
回复
String temp = request.getParameter("choosePageIndex");
temp这里是null;
但是不过报异常,
定义null没有问题
使用null才会有问题
tjzero_sapce 2009-03-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 BearKin 的回复:]
你把一个 "null"的字符串转换为INTEGER 当然会出错(之所以出的不是空指针是因为你这个NULL是个字符串。。。)
[/Quote]

经你这么一说 我才注意 对啊 表单中不存在 choosePageIndex

 String temp = request.getParameter("choosePageIndex");


那这段代码应该是报 NullPointerException 的啊! 怎么没报呢?

superjava_2006 2009-03-24
  • 打赏
  • 举报
回复
没有取到分页的页码,像楼上很多网友说的你去的变量名对么(choosePageIndex)
forgood 2009-03-24
  • 打赏
  • 举报
回复
String temp = request.getParameter("choosePageIndex");
Integer temp2 = Integer.valueOf(temp);
就没有choosePageIndex,若以在后面执行Ingeger.valeuOf()时候就出错了。
huguang 2009-03-23
  • 打赏
  • 举报
回复
Integer temp2 = Integer.valueOf(temp);
这种转换最好try catch一下,保证非数字问题,做下响应处理
加载更多回复(3)

81,076

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧