You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Matt Jiang <ma...@gmail.com> on 2009/11/10 10:19:51 UTC

Action tag is forced to use input result if outer action has action errors

Hi All,

I use Sitemesh as template engine with Struts2.
In my decorator jsp file, I use <s:action/> for division content source.
Now I encounter a problem that if an action has an action error, there will
be a "input" result used. It will cause all <s:action> in decorator JSP file
also execute input result directly. That's means <s:action> method won't be
called.

How do I make <s:action> execute its action method no matter its outer
action's result  when using sitemesh together?

thanks a lot.
Matt

Re: Action tag is forced to use input result if outer action has action errors

Posted by Matt Jiang <ma...@gmail.com>.
Hi Oscar,
Thanks for your advise, I also tried this approach, I make a new
interceptors stack and apply on <s:action > tag to avoid validation and
workflow
 interceptors. But it seems that in sitemesh jsp, <s:action > can't access
the same http session if target action has action error. Did you get the
same problems before?

Matt

On Tue, Nov 10, 2009 at 7:42 PM, Oscar Calderón <os...@gmail.com>wrote:

> Hi Matt, You could add to your action declaration in the struts.xml a
> parameter called excluded methods, where you can add the name of the
> methods
> of your action that you don't want to be validated, for example:
>
> <interceptor-ref name="yourInterceptor">
>  <param name="excludeMethods">methodName1,methodName2</param>
> </interceptor-ref>
>
> Even if your interceptor is a default interceptor like workflow or the
> interceptor is inside a interceptor stack you can reference it with the
> same
> declaration
>
> <interceptor-ref name="stackThatContainsTheInterceptor">
>  <param
> name="interceptorName.excludeMethods">methodName1,methodName2</param>
> </interceptor-ref>
>
>
> 2009/11/10 Matt Jiang <ma...@gmail.com>
>
> > Hi All,
> >
> > I use Sitemesh as template engine with Struts2.
> > In my decorator jsp file, I use <s:action/> for division content source.
> > Now I encounter a problem that if an action has an action error, there
> will
> > be a "input" result used. It will cause all <s:action> in decorator JSP
> > file
> > also execute input result directly. That's means <s:action> method won't
> be
> > called.
> >
> > How do I make <s:action> execute its action method no matter its outer
> > action's result  when using sitemesh together?
> >
> > thanks a lot.
> > Matt
> >
>
>
>
> --
> Visita mi blog
> http://codigo-java.com
> http://aeblogs.com/uiq
>

Re: Action tag is forced to use input result if outer action has action errors

Posted by Oscar Calderón <os...@gmail.com>.
Hi Matt, You could add to your action declaration in the struts.xml a
parameter called excluded methods, where you can add the name of the methods
of your action that you don't want to be validated, for example:

<interceptor-ref name="yourInterceptor">
  <param name="excludeMethods">methodName1,methodName2</param>
</interceptor-ref>

Even if your interceptor is a default interceptor like workflow or the
interceptor is inside a interceptor stack you can reference it with the same
declaration

<interceptor-ref name="stackThatContainsTheInterceptor">
  <param
name="interceptorName.excludeMethods">methodName1,methodName2</param>
</interceptor-ref>


2009/11/10 Matt Jiang <ma...@gmail.com>

> Hi All,
>
> I use Sitemesh as template engine with Struts2.
> In my decorator jsp file, I use <s:action/> for division content source.
> Now I encounter a problem that if an action has an action error, there will
> be a "input" result used. It will cause all <s:action> in decorator JSP
> file
> also execute input result directly. That's means <s:action> method won't be
> called.
>
> How do I make <s:action> execute its action method no matter its outer
> action's result  when using sitemesh together?
>
> thanks a lot.
> Matt
>



-- 
Visita mi blog
http://codigo-java.com
http://aeblogs.com/uiq