当前位置: 代码迷 >> Java Web开发 >> java.lang.NumberFormatException: null解决方案
  详细解决方案

java.lang.NumberFormatException: null解决方案

热度:777   发布时间:2016-04-17 00:53:54.0
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);
  相关解决方案