On Mon, 19 Jul 2004 10:51:01 +1200, Shane Mingins <[EMAIL PROTECTED]> wrote: > > For a new development initiative, why would you choose to use Struts and JSF > over just using JSF? Or is that dumb question? Or is there a link that > answers that question? >
Not a dumb question at all ... in fact a very common one. I keep promising to write a white paper on to answer this, because it comes up a lot. In the mean time, the answers are spread out in snippets you can find in the mail archives. In brief, it goes like this: First, consider that one of the core values of Struts is routing all your request processing through a common controller. This allows you to centralize some aspects of your application's processing (typically useful for things like authentication, logging, resource allocation, and so on) that are valuable even when you're using JSF components as well. The integration library hooks into Struts when a form submit occurs, the standard Struts request processing lifecycle is invoked -- so you can gain those same benefits if you need them, while letting pure view tier events (like expanding or contracting a node in a tree control) happen without bothering the rest of the application. Second, as of today, Struts has two key add-on features that JSF (at least with the standard set of components) by itself doesn't ... client side validation (via the Validator Framework), and layout reuse (via the Tiles framework). If you need these two capabilities, feel free to use the two technologies together. If none of that matters for your application -- in other words, if JSF provides you enough application framework capability by itself -- it's certainly simpler to learn and support one technology instead of two. Just keep in mind that JSF was focused on the view tier, with enough hooks so you could build application architectures on top of it, while Struts was focused primarily on being the controller. > Thanks > Shane Craig --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]