java.lang.ClassCastException 神奇的问题!

sokoo108 2007-12-17 12:14:20

这个程序是Struts程序,JSP页面错误部分如下:
<logic:iterate id="EAVO" name="AForm" property="resultList" type="test.EAVO" indexId="index">

JSP-Servlet代码如下:

EAVO = (test.EAVO)pageContext.findAttribute("EAVO");
在其他的JSP中,此种写法没有问题,不知道还有什么情况导致这个问题!



java.lang.ClassCastException
at jsp_servlet._web_45_inf._jsp._admin.__ea006._jspService(__ea006.java:564)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1053)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:387)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.RequestDispatcherImpl$ForwardAction.run(RequestDispatcherImpl.java:385)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:286)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1053)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:387)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at ouc.util.AccessFilter.doFilter(AccessFilter.java:158)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6316)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3622)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2569)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
...全文
184 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sokoo108 2007-12-21
  • 打赏
  • 举报
回复
谢谢 苹果兄,这个EAVO = (test.EAVO)pageContext.findAttribute("EAVO"); 代码是服务器自己编译的jsp转servlet。

这个问题我已经找到了,是我的疏忽,在底层class为form的Arraylist传值时用的变量和其他mothed的变量重名了,且我又把此重名的定义提到了类定义中,因此变量中的类型发生论乱,故出现了此类问题。

现问题解决,谢谢各位关注。
FoxMale007 2007-12-17
  • 打赏
  • 举报
回复
EAVO = (test.EAVO)pageContext.findAttribute("EAVO");
前面加一句:
System.out.println(pageContext.findAttribute("EAVO").getClass().getName());
然后看控制台输出
看看你取出来的究竟是什么类型。你把它给转错类型了

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧