struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Katarina Nelson" <katar...@appium.com>
Subject RE: Iterate tag error: Cannot create iterator for this collection
Date Mon, 05 Mar 2001 09:00:30 GMT
See below for my comment:
  -----Original Message-----
  From: Craig R. McClanahan [mailto:Craig.McClanahan@eng.sun.com]
  Sent: den 5 mars 2001 01:27
  To: struts-user@jakarta.apache.org
  Subject: Re: Iterate tag error: Cannot create iterator for this collection


  Katarina Nelson wrote:
     Hi all,I know that my question is common, but I´m still struggling with
the iterate tag.Please can somebody help me?When I´m using the logic:iterate
tag I get only the following error:
    "javax.servlet.ServletException: Cannot create iterator for this
collection"
    The not working code is: <jsp:useBean id="myUser" scope="session"
class="com.aspo.Model.User"/>
    <logic:iterate id="profile" name="myUser" property="userProfiles">
    <tr>
        <td align="left">
          <bean:write name="profile" property="name" filter="true"/>
        </td></tr>
    </logic:iterate>

****************************************************************************
********
    The same iteration works with this code:<%
    ListIterator profileIterator = myUser.getUserProfiles().findAll();
    while (profileIterator != null && profileIterator.hasNext())

    UserProfile profile = (UserProfile) profileIterator.next();
    %>
    <tr><td width="330px"><a class="list"
href="editProfile.do?action=Edit"><%= profile.getName() %></a></td>
    </tr>
    <%}%>Can anybody tell me what I'mdoing wrong?
    Thanks,Katarina

  What kind of object does the getUserProfiles() method return?  In order
for Struts to work, this must be an array, a Collection, an Iterator, or a
Map.  The fact that your code has to call findAll() to get an iterator
implies that your method does not return one of these.
  [Katarina Nelson] It's return an object "UserProfiles":

  public UserProfiles getUserProfiles() {
        return userProfiles;
     }

  So, is it impossible to by using the findAll() (which returns
ListItrerator) iterate the "profile"?
  Thanks
  Katarina
  Craig McClanahan



Mime
View raw message