想实现的功能很简单,调用ejb中的findAll()方法返回数据库中的所有记录,返回到struts的action类里,返回的数据类型collection,然后在jsp中通过
javax.servlet.ServletException: Cannot create iterator for this
collection
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageCon
textImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageConte
xtImpl.java:758)
org.apache.jsp.default_jsp._jspService(default_jsp.java:160)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.j
ava:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292
)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.ja
va:1058)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestP
rocessor.java:451)
org.apache.struts.action.RequestProcessor.processActionForward(RequestP
rocessor.java:401)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java
:279)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1420)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:520)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
root cause
javax.servlet.jsp.JspException: Cannot create iterator for this
collection
org.apache.struts.taglib.logic.IterateTag.doStartTag(IterateTag.java:31
0)
org.apache.jsp.default_jsp._jspService(default_jsp.java:99)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.j
ava:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292
)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.ja
va:1058)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestP
rocessor.java:451)
org.apache.struts.action.RequestProcessor.processActionForward(RequestP
rocessor.java:401)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java
:279)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1420)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:520)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
我换了各种方法来调试,但归根到底还是报这个错。
下面是我的action类和jsp显示的代码,各位帮忙看看,问题出在哪?
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
System.out.println("entering CtrAction.execute()");
CtrForm ctrForm = (CtrForm) form;
CtrEJBFacade cf = new CtrEJBFacade();
Collection c = cf.findAll();
ArrayList array = new ArrayList(c);
System.out.println(array.size());
request.setAttribute("ctrFrom",array);
return (mapping.findForward("default"));
}
下面是jsp的:
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
generator for Eclipse (http://easystruts.sf.net).">
| 编号 | 姓名 | 新建 | 编辑 | 删除 |
/> | /> | page="/ctr.do?action=update">编辑 | page="/ctr.do?action=delete">删除 |
我浪费了很多时间,希望有人能指点一下,谢谢了!