当前位置: 首页 > 教程 > Struts2 >

Struts2映射拦截动作

精华
小牛编辑
130浏览
2023-03-14
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 拦截器文档