> By the way, I will try to write some documentation for Clay. I already > have to do it but in french, so I guess a little translation won't be > too difficult and can help the community. In my mind, Clay is the > component that need the most explanations in Shale Frameworks. So if > any developpers read this, feel free to post many details. >
That would be outstanding. I've been holding off on Clay documentation for a couple reasons. I've been spending most of my time with features and I'm also holding out on some help (someone currently working on a couple of books besides speaking at the NFJS :-). > On 11/28/05, Alexandre Poitras <[EMAIL PROTECTED]> wrote: > > Hi, > > > > I am trying to get a grasp on Struts Clay. I understand there are 4 > > ways of using it and wich one you might want to use depends of the > > situation. > > > > I would like to do something similar to what is found in the rolodex > > usecase, ie. define a component layout in his own html files (like the > > adress panel in rolodex or Tapestry components). To be able to do > > that, Rolodex seems to use the jsp tags approach but I don't > > understand totally how it is done for the moment. I wanted to know if > > someone could give me some hints about it (like the necessary steps) > > and if I could use another aproach. > > There are a number a options but this is the one made available yesterday: You could start with an XML full view that is loaded on demand (page1.xml): <view> <component jsfid="/page1.xml" extends="baseLayout"> <symbols> <set name="title" value="Page 1"/> <set name="bodyContent" value="/page1Body.html"/> </symbols> </component> </view> In your common/global XML config loaded on startup: <view> <component jsfid="baseLayout" extends="clay"> <attributes> <set name="clayJsfid" value="/layout.html"/> </attributes> <symbols> <set name="title" value="Hello World"/> <set name="leftContent" value="/defaultLeftNav.html"/> <set name="headerContent" value="/defaultHeader.html"/> <set name="bodyContent" value="/defaultBody.html"/> <set name="footerContent" value="/defaultFooter"/> </symbols> </component> </view> And, then create layout.html <html> <head><title>@title</title></head> <body> <table> <tr> <td rowspan=3><span jsfid=clay [EMAIL PROTECTED] allowBody=false>Left Content</span></td> <td><span jsfid=clay [EMAIL PROTECTED] allowbody=false>Header Content</span></td> </tr> <tr> <td><span jsfid=clay [EMAIL PROTECTED] allowBody=false>Body Content</span>Body Content</td> </tr> <tr> <td><span jsfid=clay [EMAIL PROTECTED] allowBody=false>Body Content</span>Body Content</td> </tr> </table> </body> </html> This kind of layout only works with the full XML and JSP views as the "view id" but using an HTML entry page wouldn't add much value anyway. Gary > > Thank > > > > -- > > Alexandre Poitras > > Québec, Canada > > > > > -- > Alexandre Poitras > Québec, Canada > > --------------------------------------------------------------------- > 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]