I was able to get it working now. Thanks.

On 8/16/05, [EMAIL PROTECTED] <
[EMAIL PROTECTED]> wrote:
> 
> It can get a little difficult to keep up with.
> 
> Basically, you have to know the Hierarchy of your tile and call the top 
> most one. In this case, you would call .base which would intern call 
> myEndUserPage.page1 and finally myEndUserPage.jsp. to change to 
> another.jsp you would call .anotherPage in your action forward. Nesting 
> tiles can be very useful when switching components of a tile, but can 
> quickly become a headache when changing tiles in both layouts. I use the 
> nested for menus only and have been debating on switching to struts menu 
> because of the complexity. The only thing that has prevented me from doing 
> this is waiting to see if I can jump to JSF or AJAX/D-HTML instead.
> 
> 
> [image: Inactive hide details for Daniel Hannum <[EMAIL PROTECTED]>]Daniel 
> Hannum <[EMAIL PROTECTED]>
> 
> 
>  
>     *Daniel Hannum <[EMAIL PROTECTED]>* 
>             
>             08/15/2005 04:55 PM Please respond to
>             "Struts Users Mailing List" <
>             user@struts.apache.org>
>               
>  
> To
> 
> Struts Users Mailing List <user@struts.apache.org> 
> cc
> 
>  
> Subject
> 
> Re: Can nested tile layouts be done?    
> Thanks, I think this is better. I still must be missing something about 
> how 
> Tiles works internally, though.
> 
> In my app, the tiles definition for the end user page (the one that 
> defines 
> "body") is called "endUserPage.tiles" and Tiles is smart enough to handle 
> requests for "endUserPage.jsp" in the correct "tiled" way. You have this 
> arranged differently, where the end user page definition has a more 
> cryptic 
> name (.myEndUserPage.page1) and is referenced by .base.
> 
> If I do it your way, then, how does Tiles know which URL to map to the 
> tile 
> layout we just produced? I just implemented my layout the way you've 
> described, but now I don't know what URL to request because
> tiles-config.xmlno longer contains URLs.
> 
> 
> Thanks for your help
> Dan
> 
> On 8/15/05, [EMAIL PROTECTED] <
> [EMAIL PROTECTED]> wrote:
> > 
> > OK, I see:
> > 
> > Your definition would need to extend .sublayout..
> > 
> > 
> > /layout/layout
> > /layout/layout2
> > 
> > <definition name=".base" page="/layout/layout.jsp">
> > <put name="section1" page="menu.jsp">
> > <put name="section2" page=".myEndUserPage.page1">
> > </definition>
> > 
> > <definition name=".anotherPage" page=".base">
> > <put name="section2" page=".myEndUserPage.page2">
> > </definition>
> > 
> > <Definition name=".sublayout" page="/layout/layout2.jsp">
> > <put name="head" page="xyz.jsp">
> > <put name="body" page="123.jsp">
> > </definition>
> > 
> > <definition name=".myEndUserPage.page1" extends=".sublayout">
> > <put name="body" value="/myEndUserPage.jsp"/>
> > </definition>
> > 
> > <definition name=".myEndUserPage.page2" extends=".sublayout">
> > <put name="body" value="/another.jsp"/>
> > </definition>
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > [image: Inactive hide details for Daniel Hannum <[EMAIL PROTECTED]>]Daniel 
> 
> > Hannum <[EMAIL PROTECTED]>
> > 
> > 
> > 
> > *Daniel Hannum <[EMAIL PROTECTED]>* 
> > 
> > 08/15/2005 03:51 PM Please respond to
> > "Struts Users Mailing List" <
> > user@struts.apache.org>
> > 
> > 
> > To
> > 
> > Struts Users Mailing List <user@struts.apache.org> 
> > cc
> > 
> > 
> > Subject
> > 
> > Re: Can nested tile layouts be done? 
> > This still isn't working for me. I need to tweak your example because 
> the 
> > value of "body" changes for each page. So if I add one more definition 
> to 
> > my 
> > tiles-config.xml for an actual end-user page that a user would point a 
> > browser to:
> > 
> > <definition name="/myEndUserPage.tiles" extends=".base">
> > <put name="body" value="/myEndUserPage.jsp"/>
> > </definition>
> > 
> > It's not clear which of your definitions I should extend. If I extend 
> > .base 
> > (the logical choice), I get the same behavior where the layout.jsp is 
> > rendered and layout2.jsp is substituted in, but no substitutions are 
> made 
> > inside the layout2.jsp. If I extend .sublayout, I get even weirder 
> > behavior 
> > where it appears to render layout2.jsp but makes no substitutions at 
> all.
> > 
> > I looked at the Tiles examples and they don't seem to define individual 
> > pages in the tiles-config.xml, as I did above. Could that be my problem?
> > 
> > Dan
> > 
> > On 8/15/05, [EMAIL PROTECTED] <
> > [EMAIL PROTECTED]> wrote:
> > > 
> > > Yes, this can be done. The VBox example is a good example of this. 
> > > 
> > > Basically it is laid out as follows.
> > > 
> > > /layout/layout
> > > /layout/layout2
> > > 
> > > <definition name=".base" page="/layout/layout.jsp">
> > > <put name="section1" page="menu.jsp">
> > > <put name="section2" page=".sublayout">
> > > </definition>
> > > 
> > > <Definition name=".sublayout" page="/layout/layout2.jsp">
> > > <put name="head" page="xyz.jsp">
> > > <put name="body" page="123.jsp">
> > > </definition>
> > > 
> > > you can then substitute out different components of each section based 
> 
> > on 
> > > what you are doing.
> > > 
> > > 
> > > 
> > > 
> > > [image: Inactive hide details for Daniel Hannum <
> [EMAIL PROTECTED]>]Daniel 
> > 
> > > Hannum <[EMAIL PROTECTED]>
> > > 
> > > 
> > > 
> > > *Daniel Hannum <[EMAIL PROTECTED]>* 
> > > 
> > > 08/15/2005 02:18 PM Please respond to
> > > "Struts Users Mailing List" <
> > > user@struts.apache.org>
> > > 
> > > 
> > > To
> > > 
> > > user@struts.apache.org 
> > > cc
> > > 
> > > 
> > > Subject
> > > 
> > > Can nested tile layouts be done? 
> > > Hi everyone, I have a question about nesting layouts with Struts
> > > tiles. I've seen this sort of thing discussed in the past, but in
> > > searching I didn't see an example that I could apply to my situation,
> > > nor did I see a good solution.
> > > 
> > > Executive summary:
> > > 
> > > What I want to do is have a simple layout containing two tiles, both
> > > of which are JSP's. However, one of those JSP's is actually another
> > > layout JSP, which itself contains tile placeholders. I can get Struts
> > > Tiles to do the substitutions for the first layout, but it seems to
> > > treat my second layout as a simple JSP and does not do further tiles
> > > substitutions in the second layout.
> > > 
> > > Detailed description:
> > > 
> > > We have two separate applications that share a common track bar at the
> > > top of the screen. Beyond that they are completely separate. So, we
> > > have a layout containing "trackbar" and "trackcontent". Trackbar is a
> > > common jsp as you can see below. Trackcontent is simply a blackbox
> > > representing the rest of the app.
> > > 
> > > <definition name=".base" page="/layout/layout.jsp">
> > > <put name="trackbar" value="/common/trackbar.jsp"/> 
> > > </definition>
> > > 
> > > Then I made two definitions that put in the appropriate subsititution
> > > for trackcontent. *BUT* note that both of those JSP's have their own
> > > Tiles placeholders called "menu" and "body". It's necessary to do this
> > > because the apps may have different layouts but they must share the
> > > trackbar above.
> > > 
> > > <definition name=".app1base" extends=".base">
> > > <put name="trackcontent" value="/layout/app1Layout.jsp"/>
> > > </definition>
> > > 
> > > <definition name=".app2base" extends=".base">
> > > <put name="trackcontent" value="/layout/app2Layout.jsp"/>
> > > </definition>
> > > 
> > > Then, since all the pages of a single app share an app-specific menu,
> > > I made another definition put the right page in for "menu"
> > > 
> > > <definition name=".app1" extends=".app1base">
> > > <put name="menu" value="/common/app1NavBar.jsp"/>
> > > </definition>
> > > 
> > > <definition name=".app2" extends=".app2base">
> > > <put name="menu" value="/common/app2NavBar.jsp"/>
> > > </definition>
> > > 
> > > Lastly, we have two actual pages that extend the app definitions and
> > > put the right values in for "body"
> > > 
> > > <definition name="/app1page1.tiles" extends=".app1">
> > > <put name="body" value="/app1page1.jsp"/>
> > > </definition>
> > > 
> > > <definition name="/app2page1.tiles" extends=".app2">
> > > <put name="body" value="/app2page1.jsp"/>
> > > </definition>
> > > 
> > > Now, when I put all this together and point my browser at, say,
> > > app1page1, I get the top-level layout and the trackbar rendered, and
> > > it renders the appropriate trackcontent for app1, but it does NOT do
> > > the second level of substitutions (i.e. substitute the correct menu
> > > and body)
> > > 
> > > Is Struts capable of doing this sort of two-level layout indirection?
> > > If so, how should I change my tile defs and layouts to make it work.
> > > 
> > > Thanks a lot!
> > > Dan
> > > 
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > 
> > > 
> > >
> > 
> >
> 
>

Reply via email to