Errr.... No... Let's start from the beginning. 1. Don't give to Tiles definitions names starting with "/". 2. You can put a Tiles definitions inside another tiles definition. For example: <definition name="section.one" path="/layout/testLayout1.jsp"> <put name="top" value="/tiles/somewhat1.jsp" /> <put name="bottom" value="/tiles/somewhat2.jsp" /> </definition>
<definition name="page.one" path="/layout/classicLayout.jsp"> <put name="header" value="/tiles/header.jsp" /> <put name="left" value="/tiles/menu.jsp" /> <put name="body" value="section.one" /> <put name="footer" value="/tiles/footer.jsp" /> </definition> I hope this clears your doubts. Ciao Antonio Petrelli Laurie Harper wrote: > Hi, how do I create layout tile hierarchies so that one layout extends another and contributes additional content to it? What I'd like to have is a base layout which contains markup common to every page, and then 'child' layouts that extned the base layout and add section-specific additional markup. Page tiles would then use the 'child' layout to get the page and section layout rendered. Something like this: > > <definition name="/base.layout" path="/pages/base/layout.jsp"> > <put name="title" value="PAGE TITLE"/> > </definition> > > <definition name="/section.layout" extends="/base.layout" path="/pages/section/layout.jsp"> > <put name="title" value="The Section Title"/> > <put name="secion-name" value="SECTION NAME"/> > </definition> > > <definition name="/section.view" extends="/section.layout"> > <put name="section-name" value="The Section Name"/> > <put name="content" value="/pages/section/view.jsp"/> > </definition> > > That's how I tried to set it up, but the 'path' attribute on /section.layout overrides the 'path' attribute on /base.layout, so the content of /pages/base/layout.jsp isn't rendered. Also, the implicit 'content' attribute used by /pages/base/layout.jsp and /pages/section/layout.jsp conflict. I also tried this: > > <definition name="/base.layout" path="/pages/base/layout.jsp"> > <put name="title" value="PAGE TITLE"/> > </definition> > > <definition name="/section.layout" extends="/base.layout"> > <put name="title" value="The Section Title"/> > <put name="secion-name" value="SECTION"/> > <put name="content" path="/pages/section/layout.jsp"/> > </definition> > > <definition name="/section.view" extends="/section.layout"> > <put name="secion-name" value="The Section Name"/> > <put name="section-content" value="/pages/section/view.jsp"/> > </definition> > > but that didn't work as the 'section-name' attribute isn't defined in the tiles context available to /pages/section/layout.jsp. Moving the 'put' for the 'content' attribute down into the /section.view definition doesn't seem to help; I get the same error. > > Logically, I'm looking for something like this: > > +---------------+ +----------------------+ > | /base.layout | | /section.layout | > |---------------| |----------------------| > | title: String | includes | title: String | > | content: JSP |---------->| section-name: String | > +---------------+ | section-content: JSP | > |----------------------| > | title = "The Se..." | > | content = /path/... | > +----------------------+ > | > | includes > | > V > +-----------------------------+ > | /section.view | > |-----------------------------| > | section-name = "The se | > | section-content = /path/... | > +-----------------------------+ > > Is what I'm trying to do possible? Is my objective clear from the above? I can put together a more complete demo if necessary. > > L. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]