I understood what you and mean John Menke said. But the validations I have in my abstract action class is not specific for a Person, for example. It must be called for every action in the system and I don't want it to be called like PersonUtils.commonCodeMethod(params). This must be automatically called, so no chance of forgetting.
Thanks you all. -----Original Message----- From: Pedro Salgado [mailto:[EMAIL PROTECTED] Sent: terça-feira, 30 de março de 2004 23:50 To: Struts Users Mailing List Subject: Re: One Action class but more than one functionality Have you tried dispatch action (1 class => several methods that can be executed)? This way you have: - class Person extends Action - add(request, mapping, form, etc) - edit(request, mapping, form, etc) - remove(request, mapping, form, etc) You could then create a PersonVUtils (validation utilities for Person or something like that) to refactor the code that is common for adding and editing a person (in principle, they have the same attributes). If still want to continue with a regular action, like John Menke mentioned, it would be best to have an super abstract class. This way you have: - abstract class BaseAction extends Action - class AddPerson extends BaseAction - execute() : 1st executes PersonUtils.commonCodeMethod(params); - class EditPerson extends BaseAction - execute() : 1st executes PersonUtils.commonCodeMethod(params); - class RemovePerson extends BaseAction - execute() : 1st executes PersonUtils.commonCodeMethod(params); Pedro Salgado On 30/03/2004 21:12, "Menke, John" <[EMAIL PROTECTED]> wrote: > In our base action classes we have elected not to implement the execute > method making them abstract actions instead. this way you can include > protected methods in these classes to do validation and call them when > needed. implementing exeucte method in base class seems too limiting. you > could call super.execute() in your execute method but this is sloppy in my > opinion. I would rather have a abstract super class. > > > -----Original Message----- > From: Joao Batistella [mailto:[EMAIL PROTECTED] > Sent: Tuesday, March 30, 2004 3:02 PM > To: 'Struts Users Mailing List' > Subject: RE: One Action class but more than one functionality > > > That's right. > But I have a problem. I have a superclass that all other actions extend and > this class only implement execute method with generic validations and so on. > So, I need the execute method being called, understand? > Thanks. > -----Original Message----- > From: Prabhat Kumar (IT) [mailto:[EMAIL PROTECTED] > Sent: terça-feira, 30 de março de 2004 17:33 > To: Struts Users Mailing List > Subject: RE: One Action class but more than one functionality > look at the org.apache.struts.actions.DispatchAction class. It is exactly > for the use case you described. > -----Original Message----- > From: Joao Batistella [mailto:[EMAIL PROTECTED] > Sent: Tuesday, March 30, 2004 11:28 AM > To: 'Struts Users Mailing List' > Subject: One Action class but more than one functionality > Hello. > I have an action class to create, edit and remove a Person, for example. > Is this a poor decision? I mean, should I create 3 action classes, one for > create, another for edit and another one for remove? > Does struts have a mechanism to help me in that? > Thanks all. > --------------------------------------------------------------------- > 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]