Struts2對映攔截動作


Struts 2的開發者用來宣告行為屬於一個包,擴充套件 「struts-default「, 其中包含預設設定的攔截。
<package name="default" namespace="/" extends="struts-default">
	<action name="testingAction" 
		class="com.tw511.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.tw511.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.tw511.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 攔截器文件