Yes, but I think it brings a lot more to the table.  For example,
Action inheritance chains would be a thing of the past.  Any common
code could be changed into a command and placed in the chain.  You
could even easily create a command that, instead of executing an
Action's execute method, calls a custom method on a POJO like JSF
(I've done some experimenting here:
http://www.jroller.com/page/mrdon/20040706#zero_configuration_with_struts).
 The POJO's setter methods could even be called using request data,
removing the need for action forms.

Of course much of this is possible with the current Struts by
extending RequestProcessor, but that approach had a number of
disadvantages:
 1. Extra work (two extensions) to support regular and tiles RequestProcessors
 2. Couldn't co-exist with any other extensions
 3. Hard to test

Furthermore, and perhaps most importantly, Struts-chain brings with it
the potential to remove the Servlet dependency, making it easy to run
your Struts app in a portlet or any other container.

The simplicity of commons-chain (what struts-chain uses) makes it easy
to pick up and extend.  The big weakness right now is a lack of
documentation, which we are working on.  When struts-chain replaces
RequestProcessor in Struts 1.3/2.0, it will even be completely
backwards compatible so older applications don't have change a line of
code.  IMO, it strikes a good balance between transparency and
flexibility.

Don

On Wed, 15 Sep 2004 16:13:09 -0400, Sean Schofield
<[EMAIL PROTECTED]> wrote:
> I've been taking a look at the new struts-chain in the contrib section.
> It looks intriguing but I can't quite figure out what its for and how I
> might use it.  It seems like it will ultimately provide a replacement
> for RequestProcessor by decomposing this functionality into several
> linked commands.  Is this correct?
> 
> Also, it appears that it will initialize a Catalog (using the chain
> configuration file) through the plugin and add the Catalog to the
> ServletContext.  This will allow developers to write actions that make
> use of chains with Struts having taken care of the setup.  Also, it
> would seem that developers could tweak the standard-request (?) chain if
> they wanted to change the default functionality of what used to be
> provided by RequestProcessor.
> 
> Am I on the right track here?
> 
> Thanks,
> sean
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to