Jsp页面报错: NumberFormatException: For input string: "name"
在 [23] 行处理 [/userinfo.jsp] 时发生异常
20:
${userinfo.name}
24:绮変笣鏁帮細${userinfo.fansNum}
25:${userinfo.introduction}
Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:617) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:514) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) box.controller.UserInfoServlet.doGet(UserInfoServlet.java:25) javax.servlet.http.HttpServlet.service(HttpServlet.java:634) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) Root Cause
java.lang.NumberFormatException: For input string: 'name' java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) java.lang.Integer.parseInt(Integer.java:580) java.lang.Integer.parseInt(Integer.java:615) javax.el.ListELResolver.coerce(ListELResolver.java:150) javax.el.ListELResolver.getValue(ListELResolver.java:67) org.apache.jasper.el.JasperELResolver.getValue(JasperELResolver.java:113) org.apache.el.parser.AstValue.getValue(AstValue.java:169) org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:190) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:944) org.apache.jsp.userinfo_jsp._jspService(userinfo_jsp.java:134) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) box.controller.UserInfoServlet.doGet(UserInfoServlet.java:25) javax.servlet.http.HttpServlet.service(HttpServlet.java:634) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) ):注意 主要问题的全部 stack 信息可以在 server logs 里查看内容:报错信息中指出发生了NumberFormatException,即在将字符串转换为数字时出现了错误。具体报错的代码是'${userinfo.name.toString()}',根据报错信息可以看出'name'被当作数字进行转换,但是'name'是一个字符串,无法转换为数字。
要解决这个问题,可以将'${userinfo.name.toString()}'修改为'${userinfo.name}',这样就可以直接输出字符串的值,而不需要进行数字转换。修改后的代码如下:
23:
${userinfo.name}
原文地址: https://www.cveoy.top/t/topic/pGYC 著作权归作者所有。请勿转载和采集!