Java 从字符串转换为Int时发生JSP异常错误
有一个类是Java 从字符串转换为Int时发生JSP异常错误,java,jsp,exception,Java,Jsp,Exception,有一个类是X.Java。在下面的两行中我正在做 request.getSession.setAttribute("count",String.valueOf(rsp.getCount())); 在上面的例子中,我从rsp.getCount()中的数据库中获取计数。这里的getcount()是整数 键入并将字符串更改为String.valueOf(rsp.getCount(),并将一个属性设置为count 有一个jsp作为X.jsp 现在我使用getAttribute并将值存储在string类型
X.Java。
在下面的两行中我正在做
request.getSession.setAttribute("count",String.valueOf(rsp.getCount()));
在上面的例子中,我从rsp.getCount()
中的数据库中获取计数。这里的getcount()
是整数
键入并将字符串更改为String.valueOf(rsp.getCount()
,并将一个属性设置为count
有一个jsp作为X.jsp
现在我使用getAttribute
并将值存储在string
类型的failCount
变量中
String failCount = request.getSession.getAttribute("count");
现在我想把这个值转换成我写这行的整数类型
int countInt = Integer.parseInt(failCount);
我得到的错误如下所示
127039 13-02-26 17:13:35 ERROR http-10.18.2.105-12205-Processor4 - <JSPFilter ServletException> - test.abc.common.filter.JSPFilter.doFilter(JSPFilter.java:111)
org.apache.jasper.JasperException: Exception in JSP: abc/x.jsp:66
63:
64: }
65: String failCount = (String)request.getSession().getAttribute("failCount");
66: int failCountint = Integer.parseInt(failCount);
67: //System.out.println(failCountint);
68:
69:
Stacktrace:
at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:489)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:411)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:308)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:461)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:399)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:142)
at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:247)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1105)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:841)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:755)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:396)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:350)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
127039 13-02-26 17:13:35错误http-10.18.2.105-12205-Processor4--test.abc.common.filter.JSPFilter.doFilter(JSPFilter.java:111)
org.apache.jasper.jaspereException:JSP:abc/x.JSP:66中的异常
63:
64: }
65:String failCount=(String)request.getSession().getAttribute(“failCount”);
66:int failCountint=Integer.parseInt(failCount);
67://System.out.println(failCountint);
68:
69:
堆栈跟踪:
位于org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:489)
位于org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:411)
位于org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:308)
位于org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
位于org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679)
位于org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:461)
位于org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:399)
位于org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
位于org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:142)
位于org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:247)
位于org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1105)
位于org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:841)
位于org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:755)
位于org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:396)
位于org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:350)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
请帮助我解决此问题。确保您正在HttpRequest中设置会话
request.getSession.setAttribute("count",String.valueOf(rsp.getCount()));
如果这个java文件是servlet,那么它会工作得很好
还有一件事要确保rsp.getCount()不返回“null”
在JSP文件中
String failCount = (String)request.getSession().getAttribute("failCount");
int failCountint = Integer.parseInt(failCount);
为什么要使用request.getSession()而不是session,并尝试获取failcount而不是count
试试这个
String failCount = session.getAttribute("count").toString();
int countInt = Integer.parseInt(failCount);
我认为这可能有助于完全…设置值为会话:
request.getSession.setAttribute("count",String.valueOf(rsp.getCount()));
正在从会话读取值:
String failCount = (String)request.getSession().getAttribute("failCount");
在会话中设置值时,调用它
count
,在从JSP读取值时,调用它failCount
,我认为failCount为null,这就是原因
int failCountint=Integer.parseInt(failCount)
所以请使用
系统输出打印项次(故障计数)
还可以在错误行周围使用try catch block。您是否可以共享您的JSP代码,并尝试从JSP在控制台中打印
failCount
字符串的值?如果我注释这一行int failCountint=Integer.parseInt(failCount);然后它工作正常,也给出了输出,但当我试图转换为整数时,我得到了上面的错误OK..得到了问题我没有检查空值…我在字符串失败计数中得到了空值..感谢大家的帮助..上帝保佑你们所有人如果你的问题得到解决,最好投票给正确的答案并打分被接受的适当答案。