位置:首頁 > Java技術 > Struts2教學 > Struts2重寫攔截器參數

Struts2重寫攔截器參數

在Struts2中,可以設置或通過普通的<param>標簽重寫攔截器的參數。見下麵的例子:
<package name="default" namespace="/" extends="struts-default">
   <action name="whateverAction" 
	class="com.gitbook.netmon.action.WhateverAction" >
	<interceptor-ref name="workflow">
		<param name="excludeMethods">whateverMethod</param>
	</interceptor-ref>
	<result name="success">pages/whatever.jsp</result>
   </action>		
</package> 

然而,在上麵的代碼片段,動作類被聲明為自己的攔截器, 它會導致繼承“defaultStack”攔截器的直接丟失。

如果你想保持“defaultStack”攔截器,並覆蓋工作流的excludeMethods參數呢?冇問題,試試這個:

<package name="default" namespace="/" extends="struts-default">
   <action name="whateverAction" 
	class="com.gitbook.netmon.action.WhateverAction" >
	<interceptor-ref name="defaultStack">
		<param name="workflow.excludeMethods">whateverMethod</param>
	</interceptor-ref>
	<result name="success">pages/whatever.jsp</result>
   </action>		
</package>
上麵的代碼片段將保持“defaultStack”攔截並覆蓋“workflow”參數。

參考

  1. Struts2攔截器文檔 
  2. Struts2流程攔截器文檔