struts-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mike Kienenberger <mkien...@alaska.net>
Subject Re: [Shale] subview component XML composition extension
Date Sat, 12 Mar 2005 22:52:17 GMT
David Geary <sabreware@earthlink.net> 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: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Mime
View raw message