位置:首頁 > Java技術 > Struts2教學 > Struts2映射攔截動作

Struts2映射攔截動作

Struts 2的開發者用來聲明行為屬於一個包,擴展 “struts-default“, 其中包含默認設置的攔截。
<package name="default" namespace="/" extends="struts-default">
	<action name="testingAction" 
		class="com.gitbook.netmon.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.gitbook.netmon.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.gitbook.netmon.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 攔截器文檔