JSF is more powerful than Struts in many ways. In fact, the original creator of Struts, Craig McClanahan, was the co-spec lead of JSF expert group and he is one of the author of Shale (Struts sub-project aimed at extending JSF). JSF provides all the Struts features, ie. validation, conversion, navigation, messages, ... and all those features are extendable. But JSF dissociates itself from Struts in a lot of areas. First, it is component oriented so it is easier to reuse code between applications and easier to understand. Plus, the components are STATEFUL, they keep their state between request and that is a big advantage of JSF. In Struts, only the forms input controls were stateful and only if your form beans had session scope. Also, JSF provides a fine-grained event model à la Swing compare to the coarse-grained event model of Struts (receive request, do something). Finally, the best part of JSF comes from method and value binding wich allows you to use normal Java Beans for your controller (think of it as a Dispatch Action merged with an Action Form). It so easy to test compare to Struts action and action forms. I have been developping for several years with Struts and I didn't like it (even if it was making things better then using only jsp/servlets). There were so many problems and it was hard to reuse anything from that code. Trust me, if you liked Tapestry (wich is a reliable alternative in my mind), you will probably love JSF. The rough spot of JSF in my opinion is JSP integration wich is in my mind a big mistake but there are some good alternatives out there (Shale Clay and facelet).
About Shale, Struts Shale is just a subproject of Struts. It has nothing to do with it, it just shares the user community. Struts is going to stay a classical Action oriented framework while Shale is a framework built around JSF. Shale is kind of an experimental ground to add things that weren't cover by JSF spec. It adds stuff you are used to in Struts. For exemple, with Shale you can have application wide functionnalities like with Struts RequestProcessor. Shale also add page functionalities, ie kind of like when you have an action in Struts wich is responsable to load data before displaying the view. Shale also add the concept of dialog by bringing the Spring Webflow implementation to the JSF world. I haven't tried it yet but seems quite powerful. With Shale, you also have support for Apache commons validators and so client-side validation. Finally, Shale-Clay plug-in allows you to reuse some subview easily and provide you integration with different choice of view technologies (XHTML, XML) to use instead of JSP. Well, that's the best I can say in such a short text but there a lot more then that about JSF. You should start reading to make your own opinion. One advice, there's a lot of FUD spread around JSF right now so try it by yourselft first before listening to other people. But there are good alternatives to JSF. I have not tried all of them but there all several other components frameworks like Tapestry, Echo and Wicky. On 12/13/05, Preston Crawford <[EMAIL PROTECTED]> wrote: > I'm starting to begin looking at JSF in part because of what I've read > here on the Struts mailing list. i.e. Struts is embracing JSF, many > developers see it as inevitable. I have some experience with Tapestry and > Ruby on Rails so I'm excited about component frameworks. However, what I > don't know, having just started learning JSF is how ready it is. I can't > take wars developed in Java Studio Creator and deploy them to WebSphere > (we use WebSpere where I work) and I'm not sure how it stacks up to Struts > in terms of input validation, ease of integration with a business tier and > Hibernate and other common J2EE issues. Can anyone with experience give me > an idea if now is the time to jump in the water? > > The reason I ask here is because of the nature of Struts creating new > projects to extend and enhance the JSF API. I don't know (with that in > mind) if that's a sign of JSF not being fully baked, or not being up to > par with what most Struts users are used to. > > This is one of those situations where I want to pick the right horse. My > experience has been that usually the open source solution is the better > solution. See Ant, Struts, Spring, Hibernate, Tomcat as examples. So > because of licensing and who created the reference implementation I'm > naturally a little skeptical of JSF. Excited, but skeptical. Hopefully > someone can fill me in or at least explain what holes Shale is meant to > fill. > > Preston > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Alexandre Poitras Québec, Canada --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]