`
eyesmore
  • 浏览: 376151 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

覆盖struts2拦截器默认参数

阅读更多

在一个Action里面单独覆盖: (http://www.mkyong.com/struts2/struts-2-override-the-interceptor-parameters/)

In Struts 2, you can set or override the interceptor parameters via the generic <param> tag. See below example

 

<package name="default" namespace="/" extends="struts-default">
   <action name="whateverAction" 
	class="com.mkyong.common.action.WhateverAction" >
	<interceptor-ref name="workflow">
		<param name="excludeMethods">whateverMethod</param>
	</interceptor-ref>
	<result name="success">pages/whatever.jsp</result>
   </action>		
</package>
 

However, in above snippet, the action class is declared it’s own interceptor, and it will cause the immediate lose of the inherit “defaultStack ” interceptors.

What if you want to keep the “defaultStack ” interceptors, and override the workflow’s excludeMethods parameter as well? No problem, try this

 

<package name="default" namespace="/" extends="struts-default">
   <action name="whateverAction" 
	class="com.mkyong.common.action.WhateverAction" >
	<interceptor-ref name="defaultStack">
		<param name="workflow.excludeMethods">whateverMethod</param>
	</interceptor-ref>
	<result name="success">pages/whatever.jsp</result>
   </action>		
</package>

 The above snippet will keep the “defaultStack ” interceptor and override the “workflow ” parameter.

 

在一个package下的所有Action都覆盖:

上面的只对一个Action进行了参数覆盖,如果我们要对我们定义的一个package下所有的Action都覆盖该怎么办呢?

 

<package name="my-pack" extends="struts-default">
		<interceptors>
			<interceptor-stack name="anti-remote-command-execution">
				<interceptor-ref name="defaultStack">
					<param name="params.excludeParams">dojo\..*,^struts\..*,.*\\.*,.*\(.*,.*\).*,.*@.* </param>
				</interceptor-ref>
			</interceptor-stack>
		</interceptors>
		<default-interceptor-ref name="anti-remote-command-execution" />
		
		<action name="act1" class="" />
		<action name="act2" class="" />
		
</package>
 

 

分享到:
评论
Global site tag (gtag.js) - Google Analytics