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