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

Struts2重写拦截器参数

精华
小牛编辑
135浏览
2023-03-14
在Struts2中,可以设置或通过普通的<param>标签重写拦截器的参数。见下面的例子:
<package name="default" namespace="/" extends="struts-default">
   <action name="whateverAction" 
	class="com.yiibai.common.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.yiibai.common.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流程拦截器文档