Hello everyone.
I am currently having some problems with iterating over an array of objects.
In my action class I have put an array into the session object
(request.getSession().setAttribute("orderedsandwiches",...);)
I would like to loop over these objects in my jsp page.
I am trying to do this like this:
<bean:define id="orderedsandwiches" name="orderedsandwiches"/>
<table>
<logic:iterate id="element" name="orderedsandwiches">
<tr>
<td>
<bean:write name="element" property="name"/>
</td>
</tr>
</logic:iterate>
</table>
But when I try to do this, I get an exception like the following:
<9-jul-01 14:21:07 GMT+02:00> <Error> <HTTP>
<[WebAppServletContext(5325170,sandwich)] Root cause of ServletException
javax.servlet.jsp.JspException: Cannot find bean element in scope null
at org.apache.struts.util.RequestUtils.lookup(RequestUtils.java:493)
at
org.apache.struts.taglib.bean.WriteTag.doStartTag(WriteTag.java:179)
at jsp_servlet._viewall._jspService(_viewall.java:183)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:213)
at
weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImp
l.java:157)
at
org.apache.struts.action.ActionServlet.processActionForward(ActionServlet.ja
va:1683)
at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1520)
at
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:485)
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(WebAppServletCo
ntext.java:12
65)
at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
:1622)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
>
When I loop through the array using jsp snippets, I can print out the
contents of the array like this:
<table>
<%
OrderBean []ob = (OrderBean[])orderedsandwiches;
for(int i=0;i<ob.length;i++) {
%><tr><td><%
out.println(ob[i]);
%><td><tr><%
}
%>
</table>
The strange thing about all of this is that in another jsp page, I do almost
the same thing and there this works without any problems.
Does anyone have an idea to solve this problem????