Gary VanMatre wrote:
From: Julián García <[EMAIL PROTECTED]> Hi, I am using Hibernate + Spring + Myfaces. It's been working but I think that I am writing a LOT of code in the view layer. I have a small custom validation framework of my own, and my own init mechanisms in my beans. I use tiles. I'd like to do more templating, and reuse some code out there....I was thinking of: Facelets: to do templating Shale: init mechanisms in beans, client-side validation, Spring integration Any experiencies you want to share combining or using separately this 2 frameworks with MyFaces 1.1.1 Do they have overlapping features? Would you use them both for production?

Facelets and Shale Clay do have overlap. Both allow templating, and alternative to JSP. Clay's HTML full view templating allows you to use old school html. I believe that Facelets requires well formed XML. Clay is also unique in that it provides metadata inheritance and symbol replacement overlapping with tiles generic layout features. The Clay full XML veiws could compare to tiles. Clay is based on a component so it can be use within JSP too.

Yup, Facelets requires well formed XML. I don't know how it compares to Clay's symbol replacement mechanism, but it does make it easy to define substitutions (e.g. <ui:param name="foo" value="#{something}"/> in a view makes #{foo} an alias for #{something} in the template.

{...]

I'm a bit bias on the Clay versus Facelets comparison but Shale and Facelets 
would be a good technology stack too.

Yeah, that's what I'm using currently (I started using Facelets before I started using Shale). It works very well.

I think that JSF and Spring have some overlap.  They both provide IoC.  So, if 
you wanted to reduce the layers in your stack you might go with 
Shale+Myfaces/Hibernate or iBatis.

Spring provides a much more capable IoC solution than Faces alone; I prefer to use it for everything I can, to get things like automatic dependency injection. I'd use it to manage all my beans, but it doesn't have support for scoping beans (i.e. request/session/application scope), so for things that need to be scoped I use Faces. For everything *else* I use Spring :-)

L.

Reply via email to