my dog learned polymorphism*
The moose likes Struts and the fly likes Confusion with logic:iterate tag Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of OCA/OCP Java SE 7 Programmer I & II Study Guide this week in the OCPJP forum!
JavaRanch » Java Forums » Frameworks » Struts
Bookmark "Confusion with logic:iterate tag" Watch "Confusion with logic:iterate tag" New topic
Author

Confusion with logic:iterate tag

vijay saraf
Ranch Hand

Joined: Jan 08, 2005
Posts: 141
Hello all,
i know, at least in this forum i will get the answer........
here is the very basic question,but unfortunately i am unable to find out the mistake
as per my knowledge we can iterate collection in 2 ways (may be more..).

1st one is like :

a) set the collection in request as attribute in Action class
b) get the same in jsp

java.util.ArrayList employeeList = (java.util.ArrayList)request.getAttribute("employeeList");

c) then iterate it in jsp
<logic:iterate collection="<%=employeeList%>" id="emp" type="com.risl.beans.Employee">
<tr>
<td><bean:write name="emp" property="empId"/></td>
...............
</tr>
</logic:iterate>

the second one is like
a) make one form-property as collection with getter-setter
b) populate it with data in Action Class
c) then iterate it in jsp

<logic:iterate collection="employeeList" id="emp" type="com.risl.beans.Employee">
<tr>
<td><bean:write name="emp" property="empId"/></td>
...............
</tr>
</logic:iterate>

the question (more like a confusion) is in my projects ,only the 1st one works well.
i have tries a lot for 2nd way......but it always throws exception as
"cannot create iterator for this collection".

Can any one help me out ?

[for info i am using netbeans 5.5.1 with struts1.2.9 and tomcat 5.5.17]


Thanks
Vijay Saraf.
Joe Ess
Bartender

Joined: Oct 29, 2001
Posts: 8935
    
    9

Have a look at the iterate tag documentation. You don't use the collection attribute to identify a bean and a getter/setter. You use name and property.


"blabbing like a narcissistic fool with a superiority complex" ~ N.A.
[How To Ask Questions On JavaRanch]
vijay saraf
Ranch Hand

Joined: Jan 08, 2005
Posts: 141
Ok,
i will check.
[ March 21, 2008: Message edited by: vijay saraf ]
Srilakshmi Vara
Ranch Hand

Joined: Jul 21, 2004
Posts: 169
<logic:iterate collection="employeeList" id="emp" type="com.risl.beans.Employee">


Above need to be changed, it is wrong. If your collection is form variable you need to give like this

<logic:iterate id="var" name="formName" property="formProperty" type="">
<logic:iterate>

HTH
vijay saraf
Ranch Hand

Joined: Jan 08, 2005
Posts: 141
thanks a lot both of you.
its now working.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Confusion with logic:iterate tag