Hmmmm. Let's see:

1. You code is re-creating the ArrayList each time thru the loop, but not the book. It 
should be the other way around.

        ArrayList bookList = new ArrayList();
      ResultSet res = this.getResultSet(); // okay if you say so
        while (res.next()) {
                Book book = new Book(); 
                book.setEnglishISBN(res.getString("isbn"));
                book.setEnglishAUTHOR(res.getString("author"));
                bookList.add(book);
        }
        request.setAttribute("BookList", books);
      return (mapping.findForward("techbooks"));
    }


<bean:define id="bookList" name="bookList" scope="request"/>

<logic:iterate id="book" name="bookList">
                              
    <td>
                     <bean:write name="book" property="EnglishISBN" />

    </td>
    <td>
                     <bean:write name="book" property="EnglishAUTHOR" />

    </td>
</logic:iterate>

Regards,
�
Rich
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
Sent: Thursday, June 12, 2003 3:13 PM
To: [EMAIL PROTECTED]
Subject: can't find bean using logic:iterator

Hi to Everyone,

I am trying to use the <logic:iterator> tag in my JSP to iterate an ArrayList 
object which is supposed to be delivered by a bean, called Book, and I do 
repeatedly get the following exception :
[
org.apache.jasper.JasperException: Cannot find bean Book in any scope
at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:248)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFi
lterChain.doFilter(ApplicationFilterChain.java:193)
at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
�������� ------------
��������������� ------------

root cause 

javax.servlet.ServletException: Cannot find bean Books in any scope
at 
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:530)
at org.apache.jsp.Books_jsp._jspService(Books_jsp.java:407)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:204)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
�������� -----------
�������� -------

]

Here is a snippet from my Action class, BookAction :
�������� ----------

ArrayList newArrayList = new ArrayList();
        Book conn = new Book();
        ResultSet res = this.getResultSet();
        while (res.next()) {
              newArrayList = new ArrayList();
        conn.setEnglishISBN(res.getString("isbn"));
        conn.setEnglishAUTHOR(res.getString("author"));
        newArrayList.add(conn);
        }



        request.setAttribute("Book", newArrayList);


        return (mapping.findForward("techbooks"));
    }

struts-config.xml:

------
------
<action-mappings>

������� <action path="/Books.jsp"
����������� type="com.myBook.BookAction"
����������� scope="request"
����������� input="/Books.jsp">
����������� <forward name="techbooks" path="/Books.jsp"/>
������� </action>
������� 

��� </action-mappings>

Books.jsp:
-----
-----
<logic:iterate id="conn" name="Book" scope="request" >
                                
    <td>
                     <bean:write name="conn" property="EnglishISBN" />

    </td>
    <td>
                     <bean:write name="conn" property="EnglishAUTHOR" />

    </td>
</logic:iterate>
-----
----

Where could I be going wrong ?

Any help/suggestions will be much appreciated.

Bob


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to