Of course, I immediately found an example for handling dynamic nesting as
soon as I posted that I hadn't. Figures. There are some example projects
that use the <nested> custom tags in the resource section of the Jakarta
Struts site. One of them uses a relatively simple trick (once you have seen
it, it seems simple :-)) with dynamic inclusion of a JSP to handle node
data. You will find it on this page:

   http://jakarta.apache.org/struts/resources/examples.html

It is the one called "Tree (dynamic nested fun)". Duh.

- Mike Van Riper
  mailto:[EMAIL PROTECTED]

> -----Original Message-----
> From: Van Riper, Mike 
> Sent: Wednesday, September 04, 2002 3:21 PM
> To: Struts Users Mailing List
> Subject: RE: iterate question
> 
> 
> I have a similar need to the one expressed by Kirby. I have 
> not used the nested extension, but, I have read through the 
> online primer. I saw nothing there that would indicate it 
> would handle *dynamic* tree structures. Yes, you can use the 
> nesting custom tags to any depth you want. Yes, you don't 
> need to know in advance how many items there are in a 
> collection at a particular level. However, it looks like you 
> need to know in advance what depth to go to. When the tree is 
> being generated dynamically and the depth can not be known in 
> advance, I don't see how to use the nesting extension to handle it.
> 
> I hope that I am wrong about that because I'd love to just 
> use the nesting extension rather than write something on my 
> own. If the nesting extension can handle this situation, 
> please point me to the right part of the docs or an existing 
> example that will help me figure that out.
> 
> Assuming I am right and the nesting extension doesn't handle 
> what I need yet, my sense is there might be a way to enhance 
> the nesting extension to handle this for recursive 
> structures. For example, consider a Node object that had some 
> instance data and a collection of child Node objects and a 
> getChildNodes() method. What if <nested:iterate> took an 
> additional parameter which was recurseProperty="childNodes"? 
> It should be possible to implement tail recursion in the 
> implementation of <nested:iterate> that would repeat the 
> execution of the body of the <nested:iterate> tag with the 
> new collection being the one returned from the 
> getChildNodes() call on the current node. This would do a 
> depth first recursion of nodes outputting the same 
> information for each node. Assuming there is a way to get 
> depth information, I could use that information in the body 
> of my <nested:iterate> and dynamically reflect that in the 
> formatting of the nodes for display too.
> 
> Of course, it is not that simple. There would be intermediate 
> state to maintain and correctly return to and continue on 
> from for each time a recursion to another level happened. The 
> nesting extension does quite a bit already and this may not 
> be the best way to solve my recursive structure handling 
> problem. Then again, maybe it would make sense. I thought it 
> was at least worth sharing the idea.
> 
> - Mike Van Riper
>   mailto:[EMAIL PROTECTED]
> 
> > -----Original Message-----
> > From: Sri Sankaran [mailto:[EMAIL PROTECTED]]
> > Sent: Wednesday, September 04, 2002 11:29 AM
> > To: Struts Users Mailing List
> > Subject: RE: iterate question
> > 
> > 
> > Look at the nested extension @ 
> > http://www.keyboardmonkey.com/next/index.jsp.  It is exactly 
> > for this purpose.
> > 
> > It is included as part of Struts 1.1.x
> > 
> > Sri
> > 
> > > -----Original Message-----
> > > From: Kirby Vandivort [mailto:[EMAIL PROTECTED]] 
> > > Sent: Wednesday, September 04, 2002 12:13 PM
> > > To: [EMAIL PROTECTED]
> > > Subject: iterate question
> > > 
> > > 
> > > Hello,
> > > 
> > > I'm new to struts, so please bear with me.  I'm in the early 
> > > stages of converting something to the struts framework and 
> > > I've run into a situation that I'm not sure how to handle.
> > > 
> > > I want to make a page that, as an example, looks like:
> > > 
> > >   - message 1
> > >   - message 2
> > >     * re: message 2
> > >       + re: re: message 2
> > >     * re: message 2
> > >     * re: message 2
> > >   - message 3
> > > 
> > > 
> > > etc.  So, I'm going to pass a collection to the jsp page, and 
> > > the collection might contain collections.  There can be any 
> > > level of nesting.  
> > > 
> > > This seems like a common case, but I haven't found a way to 
> > > do it using the struts tags as of yet.  It really needs some 
> > > sort of recursive solution since you don't know how many 
> > > levels you will need to go down, and the presentation is 
> > > something that clearly shouldn't be done on the business 
> > > side, so any help or guidance that you have would be appreciated.
> > > 
> > > Thanks!
> > > 
> > > -- 
> > > 
> > > Kirby Vandivort                      Theoretical Biophysics Group
> > > Email: [EMAIL PROTECTED]          3051 Beckman Institute
> > > http://www.ks.uiuc.edu/~kvandivo/    University of Illinois
> > > Phone: (217) 244-5711                405 N. Mathews Ave
> > > Fax  : (217) 244-6078                Urbana, IL  61801, USA
> > > 
> > > --
> > > To unsubscribe, e-mail:   
> > > <mailto:struts-user-> [EMAIL PROTECTED]>
> > > For 
> > > additional commands, 
> > > e-mail: <mailto:[EMAIL PROTECTED]>
> > > 
> > > 
> > 
> 

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

Reply via email to