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

View: New views
3 Messages — Rating Filter:   Alert me  

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

by Matt Jiang :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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

by Oscar Calderón-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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 <matt.jiang@...>

> 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

by Matt Jiang :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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 <oscar.kalderon@...>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 <matt.jiang@...>
>
> > 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
>