Yes, I am suggesting to write a custom taglib. Cheers Avlesh
On Sun, Jul 12, 2009 at 8:55 AM, Anthony Frasso <a...@cornell.edu> wrote: > Thank you for the quick response Avlesh! > > Again, I'm somewhat new to Struts, so I'm not sure I understand your > suggestion. Is there a taglib out there that handles this sort of > thing? Or are you suggesting writing a custom taglib? > > Regards, > Anthony Frasso > > On Sat, Jul 11, 2009 at 23:22, Avlesh Singh<avl...@gmail.com> wrote: > > Never thought of using a taglib? > > > > Cheers > > Avlesh > > > > On Sun, Jul 12, 2009 at 8:49 AM, Anthony Frasso <a...@cornell.edu> > wrote: > > > >> Hello all, and thank you in advance. > >> > >> I'm relatively new to struts 2, as I started working with the > >> framework about 6 months ago on a part time basis. I'm struggling to > >> solve a problem that I would think would be fairly common: displaying > >> a tree within a JSP. > >> > >> Essentially, I have an object (let's call it "Item") that looks > >> something like the following: > >> > >> class Item { > >> > >> private String name; > >> private Set<Item> children; > >> > >> // getters and setters > >> } > >> > >> Working within a JSP page, I want to display the data within this Item > >> as follows: > >> > >> <ul> > >> <li> > >> <s:property value="item.name"/> > >> <s:iterator value="item.children" var="child"> > >> <ul> > >> <li> > >> <s:property value="child.name"/> > >> <s:iterator value="child.children" var="grandchild"> > >> <ul> > >> <li> > >> <s:property value="grandchild.name"/> > >> <s:iterator value="grandchild.child" var > >> "greatgrandchild"> > >> ... and so on > >> </s:iterator> > >> </li> > >> </ul> > >> </s:iterator> > >> </li> > >> </ul> > >> </s:iterator> > >> </li> > >> </ul> > >> > >> Ideally, I would be able to display this data using some sort of > >> recursion, since there's really no way to tell how deep this tree is. > >> If anyone knows of a good solution to this problem, I'd be very > >> interested in hearing it. > >> > >> I did come up with what I thought might be a solution using the > >> <s:include> tag. I came up with the following: > >> > >> In the main jsp page, I have: > >> > >> <ul> > >> <li> > >> <s:include value="inc/displayItem.jsp"> > >> <s:param name="item" value="item"/> > >> </s:include> > >> </li> > >> </ul> > >> > >> In the included jsp page, I have: > >> > >> <s:property value="item.name"/> > >> <s:iterator value="item.children" var="child"> > >> <ul> > >> <li> > >> <s:include value="inc/displayItem.jsp"> > >> <s:param name="item" value="child"/> > >> </s:include> > >> </li> > >> </ul> > >> </s:iterator> > >> > >> This does not work, of course, because a parameter from within an > >> included jsp page can only be referenced like this: {$param.item}. In > >> addition, I can't use that method to access the included parameter > >> within any struts 2 tags (as far as I can tell). > >> > >> So again, I suppose my question is: is this an appropriate way of > >> solving this problem? If so, how can I get this all to work? If not, > >> what's a better way of going about this? > >> > >> Thanks again for all of your help, > >> Anthony Frasso > >> a...@cornell.edu > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > >> For additional commands, e-mail: user-h...@struts.apache.org > >> > >> > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > For additional commands, e-mail: user-h...@struts.apache.org > >