I've run into another problem with indexed properties. I have an ActionForm subclass
called CreateForm. It contains setters and getters for my indexed properties of the
form getUsers(), setUsers. I would like to loop through the collection and display
textboxes, that even on reload (in the case of a validation error), will retain their
values. Here's my iterate tag:
<logic:iterate id="users" name="CreateForm" property="users" >
<tr>
<td width="50%" class="WebNormalText" align="center">
<html:text name="users" property="username" size="12" indexed="true"
/>
</td>
<td width="50%" class="WebNormalText" align="center">
<html:text name="users" property="role" size="12" indexed="true" />
</td>
</tr>
</logic:iterate>
This code generates...
javax.servlet.jsp.JspException: Cannot find bean CreateForm in scope null
at org.apache.struts.util.RequestUtils.lookup(RequestUtils.java:493)
at org.apache.struts.taglib.logic.IterateTag.doStartTag(IterateTag.java:302)
at jsp_servlet._create._jspService(_create.java:962)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:213)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:246)
at
weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:157)
at
org.apache.struts.action.ActionServlet.processActionForward(ActionServlet.java:1758)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1595)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:491)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:213)
at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:1265)
at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:1631)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
Can anyone help me?
~Jason