Struts2映射拦截动作 - Struts2教程

Struts 2的开发者用来声明行为属于一个包,扩展 “struts-default“, 其中包含默认设置的拦截。

<package name="default" namespace="/" extends="struts-default">
    <action name="testingAction" 
        class="com.yiibai.common.action.TestingAction" >
        <result name="success">pages/result.jsp</result>
    </action>
</package>

拦截器的默认设置进行分组为“defaultStack”在struts-default.xml文件中,它位于 struts2-core.jar 文件,“defaultStack”提供所有的核心Struts2功能,这是最适合应用的需要。

试着学习struts-default.xml文件,它总是最好的拦截器的参考。

映射拦截动作

为了其它的拦截器映射到动作,请使用“interceptor-ref”元素。

<package name="default" namespace="/" extends="struts-default">
    <action name="testingAction" 
        class="com.yiibai.common.action.TestingAction" >
        <interceptor-ref name="timer"/>
        <interceptor-ref name="logger"/>
        <result name="success">pages/result.jsp</result>
    </action>
</package>

在上面的代码片段,将其映射“timer” 和 “logger”通过“interceptor-ref”元素拦截到“TestingAction”动作类。拦截器会按它们声明的顺序触发。

由于“TestingAction”它声明自己的拦截器,它的直接失去拦截器的所有继承默认设置,你必须明确才能使用它,见下面声明“defaultStack”的例子。

<package name="default" namespace="/" extends="struts-default">
    <action name="testingAction" 
        class="com.yiibai.common.action.TestingAction" >
        <interceptor-ref name="timer"/>
        <interceptor-ref name="logger"/>
        <interceptor-ref name="defaultStack"/>
        <result name="success">pages/result.jsp</result>
    </action>
</package>

参考

  1. Struts 2 拦截器文档