I haven't seen anyone mention the most common use of Action
chaining, which is to process the form values from a submit,
and use them to prepopulate a second page.  Currently, this
requires two Actions because there is no officially
sanctioned method of instantiating a new form from an Action
to be used on a subsequent JSP page.  I think if we
addressed this, the need for chained Actions would be
greatly reduced.

James 

> -----Original Message-----
> From: Ted Husted [mailto:[EMAIL PROTECTED] 
> Sent: Friday, September 26, 2003 10:16 PM
> To: Struts Developers List
> Subject: Re: Action Chaining
> 
> It is becoming commonplace to use an Action as a "front"
for 
> a server page. This is not what people mean when they talk

> about Action chaining.
> 
> Some people start to use the Actions as finely-grained 
> business actions. 
>   For example, they want to accomplish a "move" by
forwarding 
> to a "copy" Action and then have the copy Action forward
to a 
> "delete" 
> Action. So the point of forwarding to the next Action not
to 
> complete the response, as contemplated by the
architecture, 
> but to continue the business transaction. In essence, they

> try to use Actions to create a Chain of Responsibility.
IMHO, 
> that's out of scope for an Action class.
> 
> It is true that we ask too much of the Action class. In
fact, 
> we have been discussing the idea of adding another "View" 
> handler class, or a "page controller", to the
ActionForward. 
> The idea being that the Action might nest a call to this 
> class (when specified) as part of the FindForward
sequence. 
> The View class could then prepare the request for whatever

> page it is designed to service.
> 
> Tying it to the FindForward sequence keeps the calls to
the 
> business layer within the Action lifecycle, but allows for
a 
> separation of concerns. The Action class can focus on the 
> core business transaction, and the View class can focus on

> preparing the request for its server page -- once the core

> transaction is completed and the ActionForward is ready to
be 
> selected.
> 
>
http://www.mail-archive.com/[EMAIL PROTECTED]/ms
g1
> 8629.html
> 
> It's just a matter of some interested party coming up with
an 
> implementation for other people to try.
> 
> For the other usage, where people have trouble creating a 
> finely-grained business API, there's a new Chain package
in 
> the Commons sandbox that can help. This package makes it
easy 
> to chain together arbitrary units of work, so that you can
do 
> things like create a "move" command by chaining a "copy" 
> command to a "delete" command -- and still use "copy" 
> or "delete" on their own.
> 
> -Ted.
> 
> 
> Derek Richardson wrote:
> > I was trying to avoid rehashing old arguments about
action 
> chaining. I have heard two arguments: one, it is not 
> supported and can cause strange results and, two, it is 
> indicative of bad design (the argument made below).
> > 
> > I disagree that action chaining is always indicative of
bad 
> design. See my email on the users list (that got no 
> discussion, which I never understood) 
>
http://marc.theaimsgroup.com/?l=struts-user&m=10437063942679
1&
> w=2. I believe I made an original argument for action 
> chaining being almost required in a particular situation.
> > 
> > In any case, I am not trying to force the committers to 
> make action chaining easier in the vanilla struts 
> distribution. I was merely hoping to get feedback if there
is 
> an obvious problem with my approach.
> > 
> > Perhaps I should have posted to the users list - I
thought 
> that, since this deals with modifying the framework
instead 
> of just implementing within it, that I'd get better
feedback here.
> > 
> > Thanks,
> > 
> > Derek Richardson
> 
> 
> 
>
------------------------------------------------------------
---------
> 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