java.lang.NumberFormatException: null
当jsp页面中的该代码提交
- HTML code
<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>到了
- Java code
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 code
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)
具体指向了
- Java code
String temp = request.getParameter("choosePageIndex"); Integer temp2 = Integer.valueOf(temp); int choosePageIndex = temp2.intValue();但是我在编写的时候 没有出错的啊 怎么回事呢?
[解决办法]
编译没错,运行出错了
String temp = request.getParameter("choosePageIndex");
这个choosePageIndex表单里没有啊!
怎么传来的?
[解决办法]
很显然应该是pageForm,而不是choosePageIndex
[解决办法]
Integer temp2 = Integer.valueOf(temp);
这种转换最好try catch一下,保证非数字问题,做下响应处理
[解决办法]
你把一个 "null"的字符串转换为INTEGER 当然会出错(之所以出的不是空指针是因为你这个NULL是个字符串。。。)
[解决办法]
choosePageIndex 这个属性为NULL
所以在Integer.parse的时候出错了
估计是LZ忘记什么时候把这个属性给删除掉了或者改名字了吧
在检查一下吧
[解决办法]
String temp = request.getParameter("choosePageIndex");
Integer temp2 = Integer.valueOf(temp);
就没有choosePageIndex,若以在后面执行Ingeger.valeuOf()时候就出错了。
[解决办法]
没有取到分页的页码,像楼上很多网友说的你去的变量名对么(choosePageIndex)
[解决办法]
String temp = request.getParameter("choosePageIndex");
temp这里是null;
但是不过报异常,
定义null没有问题
使用null才会有问题
[解决办法]
NumberFormatException 就是你页面传过来一个非数字的字符串,在转换成数字过程中出现异常。
[解决办法]
temp=null了吧。看看你要得值传过来了吗?