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..得到了问题我没有检查空值…我在字符串失败计数中得到了空值..感谢大家的帮助..上帝保佑你们所有人如果你的问题得到解决,最好投票给正确的答案并打分被接受的适当答案。