David Geary <[EMAIL PROTECTED]> wrote: > I think this is all good stuff, but I'd rather see integration with > Tiles instead of reinventing Tiles. Tiles has already covered some of > this ground and I see no reason for us to follow.
I haven't used JSF enough to see if it fits the same pattern, but the component-based frameworks I've used in the past have always made Tiles unnecessary. Components are "tiles". You build a component representing your layout and stick your other layout components in it. Then you reference your layout component from your general application pages. An example (and possibly not the best example) from a four-year-old Webobjects project. Note that WebObjects (and Tapestry as well from what I understand -- RenderBody?) both allow you to access the parent document content. It's unclear to me whether JSF is "component-based" enough to do this as I haven't built any components with it yet. (Someone asked me this question last week, and I haven't had time to find an answer yet.) Component-based models allow you to do things differently, and I'm just wondering if you're dragging some "old-school" methodologies into it unnecessarily. Perhaps the answer is that there's no need to reinvent Tiles OR integrate Tiles. -Mike ==================== InternalExternalPageContent ====================================== <WEBOBJECT NAME=InternalExternalJSHeader> <WEBOBJECT NAME=ShouldShowLeftSideMenuConditional> <WEBOBJECT NAME=IsInternalConditional><WEBOBJECT NAME=LeftSideMenu> </WEBOBJECT></WEBOBJECT> <WEBOBJECT NAME=IsExternalConditional><WEBOBJECT NAME="LoginPanel"> </WEBOBJECT></WEBOBJECT> <div class="content"> </WEBOBJECT> <WEBOBJECT name=ParentContent></WEBOBJECT> <WEBOBJECT NAME=ShouldReturnToLastPageConditional> <WEBOBJECT NAME=ReturnToLastPageHyperlink>Return To Last Page</WEBOBJECT> <p /> </WEBOBJECT> <WEBOBJECT NAME=ShouldReturnToURLConditional> <WEBOBJECT NAME=ReturnToURLHyperlink>Return To Last Page</WEBOBJECT> <p /> </WEBOBJECT> <WEBOBJECT NAME=IsInternalConditional><WEBOBJECT NAME=InternalFooter> </WEBOBJECT></WEBOBJECT> <WEBOBJECT NAME=IsExternalConditional><WEBOBJECT NAME=ExternalFooter> </WEBOBJECT></WEBOBJECT> <WEBOBJECT NAME=ShouldShowLeftSideMenuConditional> </div> </WEBOBJECT> </WEBOBJECT> =============================================================================================== ======================Pages in the app that use the above====================================== <!-- <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml11/DTD/transitional.dtd" > --> <html> <WEBOBJECT NAME=CommonHeadTags> <title>DEMO - Online Bill Payment</title> Any other <head> tags you want to add or modify </WEBOBJECT> <WEBOBJECT NAME=InternalExternalPageContent> This is where your page content would go for any particular page...ie, <body/> content </WEBOBJECT> </html> =================================================================================== --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]