> Hi > > So how would you implement composition, with inheritance, using Clay instead > of > Tiles?. I'm a big fan of Tiles and think that Clay and Tiles have their own niches. I see tiles as a tool for assembling page fragments in a reusable way. Clay is at a more granular level. It's focus is on assembling a page of reusable widgets.
There are many ways to use Clay but I'll give the following example of inheritance and composition. <component jsfid="baseInputText" extends="inputText"> <attributes> <!-- Convention mapping "class" attribute to "styleClass" property --> <set name="styleClass" value="@class"/> </attributes> <symbols> <set name="class" value="generic" /> </symbols> </component> <component jsfid="panel" extends="panelGrid"> <element jsfid="baseInputText" renderid="0" > <attributes> <set name="value" value="[EMAIL PROTECTED]"/> </attributes> <symbols> <set name="class" value="blue" /> </symbols> </element> <element jsfid="baseInputText" renderid="1" > <attributes> <set name="value" value="[EMAIL PROTECTED]"/> </attributes> <symbols> <set name="class" value="green" /> </symbols> </element> </component> Elements form composition but also add inheritance similar to a java inner class. The new symbol replacement is sort of a tiles like feature where you can customize by overriding a symbol value. PS: I'm on vacation this week and have limited Internet access. > > Hermod > Gary