if u putting the orderedsandwiches in the session scope in action class ,
then no Need of having <bean:define> tag in the JSP .

Also instead of keeping that in the session scope in the action class. U can
very well populate the form bean with the contents of that array &
use following in JSP page . Here listOfSandwithces is the array attribute of
the actionForm bean which

 <logic:iterate id="element"     name="orderedsandwiches"
property="listOfSandwitches"  >
       <bean:write name="element"    property="element"  >
        <logic:iterate>



----- Original Message -----
From: Moons Manuel <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, July 09, 2001 1:43 PM
Subject: iterate problem


> 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????

Reply via email to