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”參數。