Struts2.0学习笔记---拦截器拦截方法

29 篇文章 0 订阅

拦截器可以对指定的方法进行拦截,不仅可以去除某些不想拦截的方法,也可以包含某些希望拦截的方法。

比如对方法一拦截,对方法二不拦截

struts.xml

	<interceptors>
 			<interceptor name="myinterceptor"  class="com.wanhao.MethodInterceptor"></interceptor>
	</interceptors>
   
   <action name="method1"  class="com.wanhao.MethodAction"  method="method1">
   		<result>index.jsp</result>			
   		<interceptor-ref name="myinterceptor"><param name="ExcludeMethods">method1</param>    //Exclude表示排除在外,不需要拦截的方法
   		</interceptor-ref>
   </action>
	
	   <action name="method2"  class="com.wanhao.MethodAction"  method="method2">
   		<result>index.jsp</result>			
   		<interceptor-ref name="myinterceptor"><param name="IncludeMethods">method2</param>     //表需要拦截的方法
   		</interceptor-ref>
      </action>
MethodAction.java

public class MethodAction extends ActionSupport{
	
	public String execute()
	{
		return SUCCESS;
	}
	
	public void method1()
	{
		System.out.println("method1");
	}
	public void method2()
	{
		System.out.println("method2");
	}
	public void method3()
	{
		System.out.println("method3");
	}
	public void method4()
	{
		System.out.println("method4");
	}
}
MethodInterceptor.java

public class MethodInterceptor extends MethodFilterInterceptor {

	@Override
	protected String doIntercept(ActionInvocation arg0) throws Exception {
		System.out.println("拦截器执行");
		return arg0.invoke();
	}
}

拦截结果监听器,需要实现PreResultListener接口。

然后在拦截器中加入此监听器中,invocation.addPreResultListener(new myListener());


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值