Hi David, I already know about facelets and it definately look like a nice project but I was giving a try first at Shale. Struts already got a huge community, his authors are quite famous and involves in the JSF JSR(s) and it proposes somes nice other features so I am guessing Shale is going to repeat at least some part of the Struts success story and so gain the industry momentum. But I am definetily giving a look at facelets as a Clay/Tiles alternative.
On 11/23/05, David G. Friedman <[EMAIL PROTECTED]> wrote: > > Alexandre, > > If you're looking for a JSF "aware" template technology, I recommend you > look at facelets > (https://facelets.dev.java.net). > > Regards, > David > > -----Original Message----- > From: Alexandre Poitras [mailto:[EMAIL PROTECTED] > Sent: Tuesday, November 22, 2005 11:17 PM > To: Struts Users Mailing List > Subject: Re: [shale] Design questions > > > I kind of agree with you Gary. I just love Tiles powerful features and I > would like to use it in my JSF application (but I would take a deep look > at > Tapestry way of doing it to see if it is truly necessary). Anyway, I > started > to have concerns after watching the JavaOne 2005 presentation "Extreme > Reuse > in JavaServer Faces, TS-7853" (wich was very interesting by the way). > There > seems to be a lot of non-obvious concerns when using non-JSF aware > technologies for the layout of a JSF view. I know that Shale provides an > integration ViewHandler for Tiles wich allow him to resolve ".pages" urls > and eliminates the need for stupid jsp wrappers but I think it resolves > only > part of the problem. Here's a small summary of the main issues for those > who > don't have time to watch the presentation. > > First, even if it's not such a huge concern but still have to be taken in > account when designing the application, navigation rules are relative to > the > top viewid and not the tile itself. It can be a bit confusing but I guess > you can find your way around it. Second, you can't use some more > "advanced" > Tiles functionnalities like importAttributes (see the presentation). Again > you are sticking to a basic usage, I still think Tiles can be a valid > solution. But the main problem come from the fact that Tiles is for the > moment not a solution specific to JSF technology and provides no adapters > for this framework. Therefore, a tile is sadly not a JSF UI component. > It's > mean that JSF Beans can't see your application tiles. You can say goodbye > to > the use of the binding attribute and so managing some of your UI > components > programmaticaly is impossible. This is a huge limitation in my opinion. > > Maybe Shale already solves those issues but from what I have read on the > Javadoc page, it doesn't seem to. I think people should be aware of those > issues to make a discern choice. Just my two cents. I'll be glad to hear > any > nice solutions to those problems if someone has any ideas. > > *By the way, the Rolodex use case seems to be broken for the moment except > for the jsp example. Both of the Html views and the Xml view output <span > class="@class"> around every element. For example, the first line is shown > like this <span ...><html></span> (IE is able to render the page but not > Firefox of course :)). > > On 11/22/05, Gary VanMatre <[EMAIL PROTECTED]> wrote: > > > > > > > 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 > > > > > > -- > Alexandre Poitras > Québec, Canada > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Alexandre Poitras Québec, Canada