Struts2 拦截器之MethodFilterInterceptor

拦截器采用MethodFilterInterceptor好处就是比较灵活,见文思义就是可以根据方法来判断拦截

使用方法:

1.编写一个类继承MethodFilterInterceptor

import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.MethodFilterInterceptor;
import com.wtwd.bos.pojo.User;

public class LoginInterceptor extends MethodFilterInterceptor {
    
    /**
     * 登陆拦截器
     */
    @Override
    protected String doIntercept(ActionInvocation invocation) throws Exception {
        if(!login) {
            return "login";//需要拦截转到登陆页面
        }else {
            return invocation.invoke();//放行
        }
    }

}

2.在Struts.xml里配置拦截器


            
            
                
                login
            
            
            
                
                
            
        
        

注:举例一个用户登陆应用场景,通常我们会有拦截用户是否登陆这个逻辑,如果拦截到未登陆的话需要跳转到登陆页面。但是像上面那样直接返回"login"的话,Struts2会找不到跳转页面,所以需要配置下全局结果集
3.在Struts.xml里配置全局结果集定义

        
        
            /login.jsp
        

你可能感兴趣的:(Struts2 拦截器之MethodFilterInterceptor)