java.lang.NumberFormatException:null(购物篮)?
我正在尝试用JSP制作一个购物篮。我从第一个JSP获取代码(因为它向我显示了我在语句中获取的信息),但是当我提交创建arraylist时,它并没有得到我在第一个语句中使用的相同代码。它显示以下错误: 错误:java.lang.NumberFormatException:null 输入Informe de execpción 在帕吉纳的过程中,我们有一个例外 /carritobolsos.jsp en línea 23 描述服务商的内部错误 这是我的要求 例外情况 org.apache.jasper.JasperException:Ha sucedido una exception al página程序JSP/carritobolsos.JSP en línea 23 20:=下一个){ producto+=“”;} 否则{ producto+=“”; } producto+=“”; producto+=”; %> €java.lang.NumberFormatException:null(购物篮)?,java,jsp,Java,Jsp,我正在尝试用JSP制作一个购物篮。我从第一个JSP获取代码(因为它向我显示了我在语句中获取的信息),但是当我提交创建arraylist时,它并没有得到我在第一个语句中使用的相同代码。它显示以下错误: 错误:java.lang.NumberFormatException:null 输入Informe de execpción 在帕吉纳的过程中,我们有一个例外 /carritobolsos.jsp en línea 23 描述服务商的内部错误 这是我的要求 例外情况 org.apache.jaspe
问题在于,当您尝试
parseInt
时,会出现java.lang.NumberFormatException
的值null
来自request.getParameter(“cod”)
这是错误行:
int codigo=Integer.parseInt(request.getParameter("cod"));
您必须做的是在将请求解析为int
之前处理来自请求的null
值,您可以这样做:
int codigo=Integer.parseInt(stringtoInt(request.getParameter("cod"), 0));
其中stringToInt
是一个函数,如果您不想使用像guava
这样的外部库,它可以将String
转换为int
stringToInt
的实现可以如下所示:
int stringToInt(String value, int defaultValue) {
try {
return Integer.parseInt(value);
} catch(NumberFormatException e) {
return defaultValue;
}
}
你能把你的堆栈跟踪放进去吗?Stacktrace:org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:574)org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)javax.servlet.http.HttpServlet.service(HttpServlet.java:729)org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)org.netbeans.modules.web.monitor.server.monitorfiler.doFilter(monitorfiler.java:393)请更新您的问题,并将我发布的
java.lang.NumberFormatException
部分作为答案
int stringToInt(String value, int defaultValue) {
try {
return Integer.parseInt(value);
} catch(NumberFormatException e) {
return defaultValue;
}
}