> David Geary Wrote:
> Perhaps, but assuming we want the same functionality that Tiles 
> currently provides, such as XML tile definitions, tile inheritance, 
> role-based tiles, controllers, etc., you're going to have to reinvent 
> it unless you leverage Tiles somehow. You can have layout components, 
> certainly, but that would just be the tip of the Tiles iceberg. 

I would argue that the point of the xml subview component would be to provide 
something that tiles could not.  For another example, a dataTable that defines 
first and last name.  Notice the EL for the value attribute of the dataTable 
#{managed-bean-name.persons}.  The managed-bean-name will be replaced with the 
id attribute of the subview component in the JSP this allows a definition to be 
used against more than one managed bean/ view controller.  In the next 
displayElement definition, a couple columns are added to the personTable 
component.  The only way to do this with JSP and tiles is to create two JSP's 
and use tiles to pull in a different fragment. 

JSP Tag
<sh:xsubview id="personTable" elementId="personTable" />
<sh:xsubview id="employeeTable" elementId="employeeTable"  /> 

XML view definition

 <displayElement elementId="personTable" extends="dataTable">
     <attributes>
        <set name="value" useValueLateBinding="true" 
value="#{managed-bean-name.persons}"/>
        <set name="var"   value="e"/>
        <set name="rows"  value="5"/> 
        <set name="first"  value="1"/>  
        <set name="border" value="1"/>
        <set name="cellpadding" value="3"/>       
     </attributes>
     
     <element renderId="1" elementId="firstNameColumn"/>
     <element renderId="2" elementId="lastNameColumn"/>
     
 </displayElement>

 <displayElement elementId="employeeTable" extends="personTable">     
     <element renderId="0" elementId="ssnColumn"/>    
     <element renderId="3" elementId="birthDateColumn"/>    
 </displayElement>
 
> I would advocate a layer of Shale components/renderers/variable 
> resolvers/whatever that integrate with Tiles. Perhaps we could make 
> layout components an option instead of layout JSP pages, as is the 
> default for Tiles, although I bet most people would prefer the latter. 
> 

I don't see the two options being mutually exclusive.  

Gary

Reply via email to