I'm trying to write an interceptor that makes redirecting decisions based on
an annotation on the method on that is going to be executed. Like this:


public class MyAction extends ActionSupport {
...
   @SomeAnnotation(value="value")
   public String list() {
   ...
   return SUCCESS;
   }
}

public class MyInterceptor extends AbstractInterceptor {
...
   public String intercept(ActionInvocation invocation) throws Exception {
       // check if there is an annotation on the method that is going to be
executed
       // redirect based on that:
      if (something) invocation.invoke()
      else return "someresult";
   }
}

For this reason it would be nice to get the method, or at least the name of
the method, so that the interceptor could do method.getAnnotation(
SomeAnnotation.class).

On Thu, Feb 21, 2008 at 2:59 PM, <[EMAIL PROTECTED]> wrote:

> Tell me more.  One thing I have learned using Struts 2 is if you think it
> should be possible, it probably is!  What are you trying?
>
> On Thu, Feb 21, 2008 at 1:29 AM, Toni Lyytikäinen <[EMAIL PROTECTED]>
> wrote:
>
> > Thanks. This approach works, but isn't quite as elegant as I was hoping.
> >
> > On Wed, Feb 20, 2008 at 2:47 PM, <[EMAIL PROTECTED]> wrote:
> >
> > > download the breadcrumb
> > > <http://strutsschool.com/downloads/downloads.action>interceptor
> > > and look at the intercept method.  You will see what's happening right
> > > away.
> > >
> > >
> > >
> > > On Wed, Feb 20, 2008 at 5:40 AM, Toni Lyytikäinen <[EMAIL PROTECTED]>
> > > wrote:
> > >
> > > > Hi,
> > > >
> > > > I'm trying to access the ActionMapping from an interceptor, like the
> > > > following test stub:
> > > >
> > > > public String intercept(ActionInvocation invocation) throws
> Exception
> > {
> > > >    ActionMapping am=ServletActionContext.getActionMapping();
> > > >    log.info("The method is "+am.getMethod());
> > > >    return invocation.invoke();
> > > >    }
> > > >
> > > > According to the javadocs am.getMethod() should return a String (the
> > > > method), but for some reason am.getMethod() always returns null. The
> > > > am.getName() and am.getNamespace() methods seem to work correctly
> > > however.
> > > > Is there a way (that works) to extract the name of the method that
> is
> > > > going
> > > > to be executed?
> > > >
> > >
> > >
> > >
> > > --
> > > Scott
> > > [EMAIL PROTECTED]
> > >
> >
>
>
>
> --
> Scott
> [EMAIL PROTECTED]
>

Reply via email to