Hello All,
Thanx for the responses. I got none on the 1st attempt 6 weeks ago so I appreciate the 
interest. I'll try to respond to all in this single email.
 
 
Hubert Rabago wrote: 
Can this be implemented as a plug-in instead?  That
way, users will be aware about it and can consider it
in their designs but those that won't need it will not
be carrying the additional classes.
 
The implementation is not a plug-in per se. It uses a plug-in to invoke actions but 
the plug-in could be eliminated by a very simple (even trivial) change to the Struts 
code base. This is documented. 
 
Sgarlata Matt wrote:
Your plug-in is a very frequently requested feature, but it definitely 
looks
a lot like what is called "action chaining", which is not considered a
Struts best practice. ........
---------------------------------
 
I am keenly aware of action chaining and of existing literature, Struts mailing list 
threads and contributed implementations. Action wrappers MAY be chained because of the 
implementation design properties. Action wrappers simply allow greater flexibility of 
controller logic. 
 
Sgarlata Matt wrote:
As a quick summary, action chaining is considered a bad 
idea because it generally indicates that logic that should be in a separate business 
tier has been pushed up inappropriately to the presentation tier..........
---------------------------
 
Action wrappers very definitely do not address business tier logic. They flesh out the 
options available for controller logic. The specific action wrappers implemented so 
far have no relationship whatsoever with  the business tier. In fact, they are further 
removed than the application actions which they invoke. For example, the monitor 
action wraps any any action that you want to execute only one time. The monitor knows 
nothing at all about the application or business logic. The application action does 
not know that it will only be exectuted one time. Now, you may be saying that the 
application action is the extra action that comes from bad design. However, this is 
not the case either since it is the ordinary Struts action that we know and love  
which handles the form bean, the action forwards, etc. etc Keeping with your advice 
this action invokes other method(s) to perform business logic.

Joe Germuska wrote:
I think the objection to chaining is more to do with the fact that it 
re-invokes the RequestProcessor chain than because of any specifics 
of how you organize your code......
---------------
Action wrappers work with the existing request process but there is a caveat that 
should be understood. There is also a simple work around for the Struts code base. 
Both the caveat and the work around are documented.

John A. Sessler


---------------------------------
Do you Yahoo!?
The New Yahoo! Shopping - with improved product search

Reply via email to