In general I like an idea to assembly application from set of pre-defined actions with parameters. It is about reuse of actual action “implementations” within application.
Best,
Igor.
On Mon, 31 Mar 2003 17:07:09 -0800, Van Riper, Mike <[EMAIL PROTECTED]> wrote:
-----Original Message----- From: Xavier Saint-Denis [mailto:[EMAIL PROTECTED] Sent: Monday, March 31, 2003 4:21 AM To: Struts Users Mailing List Subject: Re: Right way to extends Action
Hi, In our application we use a similar concept :
- we have a class like this : public abstract class BaseAction extends Action
What about DispatchAction and LookupDispatchAction? Anyone have a good
solution for reuse of common action logic across these multiple action base
classes provided by Struts?
In this class :
- we added some usefull field like a logger an a pointer to a singleton that
retains application's data
protected Log log = LogFactory.getLog(this.getClass());
protected static final Infos infos = Infos.getInstance();
- We change the modifier of the execute Method so as to be sure nobody use
it directly:
public final ActionForward execute(ActionMapping _mapping, ActionForm
_form, HttpServletRequest _req, HttpServletResponse _res) throws Exception {
- In this method we check the user session and log in information - At the end of this method we call return executeAction(_mapping, _form, _req, _res);
- This method "executeAction" is defined as this :
public abstract ActionForward executeAction(ActionMapping _mapping,
ActionForm _form, HttpServletRequest _req, HttpServletResponse _res) throws
Exception;
- So when we create a new action, we extend BaseAction and implement the
abstract method executeAction
This way, we have automatic user login check, and a logger at disposition.
regards,
Xavier
----- Original Message ----- From: "niksa_os" <[EMAIL PROTECTED]> To: "Struts Users Mailing List" <[EMAIL PROTECTED]> Sent: Monday, March 31, 2003 1:45 PM Subject: Right way to extends Action
I want all my Actions to extend BaseAction.
In BaseAction I want to check user session and to put some data in it, if
that data doesn't exist.
Is it good way:
public class SomeAction extends BaseAction { public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response ) { super.execute( mapping,form, request, response); OK, proceed ...........
public class BaseAction extends BaseAction { public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response ) { if (userSession is wrong) { -try -- put data in session -catch -- return mapping.findForward("wrongSession");} else return null; //everything is OK
What you think about this way and is there better way to extend Action?
Thanks.
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
-- Igor Shabalov Director of Engineering Exadel Inc. http://www.exadel.com
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]