HI James,

It would be great if you can share this information with all.....


Kulkarni.

. -----Original Message-----
. From: James Mitchell [mailto:[EMAIL PROTECTED]
. Sent: Monday, May 10, 2004 5:15 PM
. To: Struts Users Mailing List
. Subject: Re: BaseDispacthAction?
.
.
. I'll send it to you directly.
.
.
.
. --
. James Mitchell
.
.
.
. ----- Original Message -----
. From: "Erez Efrati" <[EMAIL PROTECTED]>
. To: "'Struts Users Mailing List'" <[EMAIL PROTECTED]>
. Sent: Sunday, May 09, 2004 8:00 AM
. Subject: RE: BaseDispacthAction?
.
.
. > Hi James, could you please be more specific about this recursion bug? I
. > am using the 1.1 version so it would help..
. >
. > Erez
. >
. > -----Original Message-----
. > From: James Mitchell [mailto:[EMAIL PROTECTED]
. > Sent: Friday, May 07, 2004 7:50 PM
. > To: 'Struts Users Mailing List'
. > Subject: RE: BaseDispacthAction?
. >
. > It should work just fine.
. >
. > - change your base action to extend DispatchAction
. > - in execute(), call preProcess(), super.execute(), then postProcess()
. >
. > ...assuming you've implemented your custom methods (e.g. search(),
. > save(),
. > whatever() ) and you understand how DispatchAction works, it should all
. > fall
. > into place and work fine.
. >
. > NOTE - DispatchAction has a pretty serious bug in the Struts 1.1 version
. > (potential recursive loop until the server spits out of memory
. > exceptions),
. > so you will want to use a later version or add a fix in your BaseAction.
. > Let me know if you need help with it.
. >
. >
. > --
. > James Mitchell
. > Software Engineer / Open Source Evangelist
. > EdgeTech, Inc.
. > 678.910.8017
. > AIM: jmitchtx
. >
. >
. > > -----Original Message-----
. > > From: news [mailto:[EMAIL PROTECTED] On Behalf Of Gianluca
. > > Sent: Friday, May 07, 2004 8:55 AM
. > > To: [EMAIL PROTECTED]
. > > Subject: BaseDispacthAction?
. > >
. > > I've defined and I'm using a subclass of Action
. > > (my.package.BaseAction), in order to implement the Template
. > > design pattern, so I use this class instead of the Action
. > > class provided by STRUTS. The intended goal is that things
. > > that are common to all actions are performed here, such as
. > > logging and validation of the user's session, some
. > > postprocessing, etc.
. > > In that class I've declared the execute(..) method as final,
. > > so that no subclass can override it:
. > >
. > > public final ActionForward execute(
. > > ActionMapping mapping,
. > > ActionForm form,
. > > HttpServletRequest request,
. > > HttpServletResponse response)
. > > throws Exception {
. > >
. > > _log = Logger.getLogger(this.getClass());
. > > if (_log.isDebugEnabled()) {
. > > _log.debug(someString);
. > > }
. > >
. > > try {
. > > // Check for precondition errors; fail if found
. > > if (preProcess(mapping,form,request,response)) {
. > > // Execute actual logic
. > > ActionForward forward =
. > > executeLogic(mapping,form,request,response);
. > > }
. > > // Some postprocessing...
. > > postProcess(mapping,form,request,response);
. > >
. > > return forward;
. > >
. > > } catch (SessionNotValidActionException se) {
. > > if (_log.isDebugEnabled()) {
. > > _log.debug("Session is not valid,
. > > redirecting to login.");
. > > }
. > > return mapping.findForward("login");
. > > } catch (...) {
. > > ...
. > > } finally {
. > > ...
. > > }
. > >
. > > if (_log.isDebugEnabled()) {
. > > _log.debug("Leaving execute method.");
. > > }
. > > }
. > >
. > > and I provide the two methods - preProcess and postProcess -
. > > together with an abstract executeLogic method, and some other
. > > common helper needs into utility methods.
. > >
. > > But Actions classes are often too small, and this ruins the
. > > cohesiveness of the application. So I would like to start
. > > employing DispactchAction classes to group related actions.
. > > Do you have any suggestion on how to implement the above
. > > approach (template pattern) to extend DispatchAction, in
. > > order to define a BaseDispatchAction?
. > >
. > > Thanks,
. > > Gianluca
. > >
. > >
. > > ---------------------------------------------------------------------
. > > 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]
. >
.
.
.
. ---------------------------------------------------------------------
. 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