Tnx Chris, your answer is very helpfull :-)

From: Christopher Schultz <[EMAIL PROTECTED]>
To: Struts Users Mailing List <user@struts.apache.org>
Subject: Re: redirect or forward from method
Date: Fri, 15 Dec 2006 09:16:24 -0500

----- Original Message Follows -----
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Stan,
> 
> Stanislav wrote:
> > I'm using Strus and this is my problem. I have this method A which
> > have input and outpur parameters. There is try/catch block in method
> > A that capture Exceptions. I want to redirect or forward to jsp page
> > B from method A when some error is happend and NOT to return to class
> > C from which method A is invoked. Is this possible to achieve?
> 
> The best way to direct Struts to another location is to return the
> appropriate ActionForward from your Action's execute() method.
> 
> Since you are using another method ("method A") to do your work, this is
> not possible directly (that is, you cannot "return" a value from "method
> A" and have it skip further processing in your action class). This just
> isn't now Java (or any other programming language, really) works.
> 
> What you /can/ do is let the exception from "method A" propagate all the
> way back up into your action code, and catch it /there/ instead. Like this:
> 
> public ActionForward execute(...) throws Exception
> {
>    .
>    .
>    .
>    try {
>      .
>      .
>      methodA();
>      .
>      .
>      .
>    } catch (SomeException e)
>    {
>       return mapping.findForward("method-a-error");
>    }
> }
> 
> If it is inappropriate to allow SomeException to propagate from "method
> A" back into the action code, then consider wrapping that exception in
> something else, like MethodAException:
> 
> public void methodA(...)
> {
>    .
>    .
>    .
>    catch(SomeException e) {
>      throw new MethodAException("Method A failed", e);
>    }
> }
> 
> and in your action code, catch MethodAException instead of SomeException.
> 
> Don't forget that your Action is really the place where decisions about
> control flow need to be made... helper methods can accomplish other
> tasks of help the Action make decisions, but ultimately, it's the
> Action's responsibility to control the flow.
> 
> Hope that helps,
> - -chris
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.6 (MingW32)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
> 
> iD8DBQFFgq449CaO5/Lv0PARAnDtAKC1rPl0ZmvCW3EnqrAW/qxq+wrQ0gCfWJgi
> ra0kGCKdGxz7BZASiiTZmOY=
> =Fp9O
> -----END PGP SIGNATURE-----
> 
> ---------------------------------------------------------------------
> 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