I have submitted a patch once for solving this, but it seems to not have
made it in CVS.

Here's the patch again (against current CVS)

hth,
tomK

> -----Original Message-----
> From: Uladzimir Kavalchuk [mailto:[EMAIL PROTECTED]] 
> Sent: donderdag 13 december 2001 12:44
> To: 'Struts Users Mailing List'
> Subject: RE: How to extract multiple columns of data in an 
> <logic:iterate> tag ?
> 
> 
> I had to do the same thing. My bean model is Iterator. 
> Everything WORKS.
> Use nested iterate tags on the same name, BUT! you must call 
> previous() in
> nested iterate.
> 
>                     <logic:iterate id="dummy" name="groupModel">
>                     <tr><jsp:setProperty name="groupModel" 
> property="back"
> value=""/>
>                         <logic:iterate id="dummy2" name="groupModel"
> length="2">
>                         <td width="49%" valign="top">...
>                                   <jsp:getProperty name="groupModel"
> property="procDescription"/>
>                             </td>...
>                         </logic:iterate>
>                     </tr>
>                     </logic:iterate>
> 
> Please notice: 
> 1. Usage of length attribute in nested <iterate>;
> 2. Call to "hack" setProperty/back, which does something similar to
> previous().
> 
> I think this SHOULD be fixed by Struts writers:
> 
> ...EVERYTHING IS APPROXIMATE:
> .... IterateTag.java...
>        boolean dontNext;
> 
>         Tag tag = findAncestorWithClass( this, IterateTag.class);
>         if( tag != null && tag.getName().equals(getName()) ) 
> { // we are in
> nested iterate on the same name
>       dontNext = true; // parent tag also hasNext, otherwise 
> how could we
> come here?
>         }
> ... if( ! dontNext) // add this line
>       ... next() ....
> 
> -----Original Message-----
> From: SHURTLEFF,ROBERT (HP-FtCollins,ex1) 
> [mailto:[EMAIL PROTECTED]]
> Sent: 13 ??????? 2001 ?. 3:33
> To: [EMAIL PROTECTED]
> Subject: How to extract multiple columns of data in an 
> <logic:iterate> tag ?
> 
> 
> Assume that the ActionForm has the getter for the below 
> "myhashtable" that
> returns a Map.
> 
> Assume that the .value returns an Array of Strings (or whatever)
> 
> I want to build a <table> with 4 columns in it with the 
> <logic:iterate> .
> 
> I copied the below code from the STRUTS Developers Guide:
> 
> <logic:iterate id="element" name="myhashtable">
> Next element is <bean:write name="element" property="value"/>
> </logic:iterate> 
> 
> Assume that a typical record is like:
> Map.key = "myKey"
> Map.value = [ "myvalue", "mydesc", "myotherdata" ]
> 
> But, how do I get the 0th, 1st, 2nd, etc. columns data out of 
> the .value?
> 
> Does this work?
> <logic:iterate id="element" name="myhashtable">
> Next element key is <bean:write name="element" property="key"/>
> Next element value 0 is <bean:write name="element" 
> property="value[0]"/>
> Next element value 1 is <bean:write name="element" 
> property="value[0]"/>
> Next element value 2 is <bean:write name="element" 
> property="value[0]"/>
> </logic:iterate> 
> 
> What if .value was a Class like 
> public class myRecord{
>       .getValue()
>       .getDesc()
>       .getOtherData()
> }
> 
> How would you call the getters to get the data?
> 
> All help is appreciated.
> Robert
> 
> 
> --
> To unsubscribe, e-mail:
> <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail:
> <mailto:[EMAIL PROTECTED]>
> 
> --
> To unsubscribe, e-mail:   
> <mailto:struts-user-> [EMAIL PROTECTED]>
> For 
> additional commands, 
> e-mail: <mailto:[EMAIL PROTECTED]>
> 
> 

Attachment: BaseHandlerTag.java.diff
Description: BaseHandlerTag.java.diff

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

Reply via email to