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

Reply via email to