仅在特定类上跳过默认拦截器堆栈

时间:2011-06-06 05:27:52

标签: struts2 interceptor interceptorstack

您好 我们创建了一个名为appInterceptorStack的自定义拦截器堆栈,并将其称为<default-interceptor-ref name="appInterceptorStack"/>

appInterceptorStack - &gt;没有附加验证和工作流程拦截器。

但是现在对于特定的动作类我需要使用validate方法,所以我需要验证拦截器

我创建了一个带有验证和工作流拦截器的新拦截器堆栈,并从操作类中引用它。但是只有默认的拦截器堆栈才会被执行。更改后的内容未被调用,请在下面找到示例代码。

<package name="default" extends="struts-default">
  <interceptor-stack name=”AppStack”>
    <interceptor-ref name="exception"/>
    <interceptor-ref name="alias"/>
    <interceptor-ref name="params"/>
    <interceptor-ref name="servletConfig"/>
    <interceptor-ref name="params"/>
  </interceptor-stack>

  <interceptor-stack name=”GuiStack”>
    <interceptor-ref name="exception"/>
    <interceptor-ref name="alias"/>
    <interceptor-ref name="params"/>
    <interceptor-ref name="servletConfig"/>
    <interceptor-ref name="params"/>
    <interceptor-ref name="validation" />
    <interceptor-ref name="workflow" />
  </interceptor-stack>

  <default-interceptor-ref name="AppStack"/>

  <action name="test" class="com.jranch.Test">
    <interceptor-ref name="GuiStack”/>
    <result name="input">login.jsp</result>
    <result name="success" type="redirect-action">/secure/home</result>
  </action>
</package> 

有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:1)

配置看起来正确。你能打开com.opensymphony的调试日志。

然后,您可以看到依次调用拦截器。这是查看所调用内容的最快捷方式。