Struts2的Interceptor中使用includeMethods 和 excludeMethods
2016-04-20 19:06
423 查看
excludeMethods表示排除指定的方法,即不对标记为excludeMethods的方法进行拦截;
includeMethods表示包含指定的方法,即对标记为includeMethods的方法进行拦截;
在struts.xml中关于excludeMethods和includeMethods有两种实现方式,一种相当于全局,
即<interceptors>
<interceptor name="method" class="com.yxl.interceptor.MethodInterceptor">
<param name="includeMethods">method1,method2</param>
</interceptor>
</interceptors>
另一种相当于局部:
<interceptor-ref name="method">
<param name="excludeMethods">method1,method2</param>
</interceptor-ref>
若全局中的param定义为excludeMethods同样局部中的param也定义为excludeMethods,
则局部中的param生效,全局中的param无效,即被局部中的param覆盖。
同时如果要使用这个,则拦截器必须实现·MethodFilterInterceptor
includeMethods表示包含指定的方法,即对标记为includeMethods的方法进行拦截;
在struts.xml中关于excludeMethods和includeMethods有两种实现方式,一种相当于全局,
即<interceptors>
<interceptor name="method" class="com.yxl.interceptor.MethodInterceptor">
<param name="includeMethods">method1,method2</param>
</interceptor>
</interceptors>
另一种相当于局部:
<interceptor-ref name="method">
<param name="excludeMethods">method1,method2</param>
</interceptor-ref>
若全局中的param定义为excludeMethods同样局部中的param也定义为excludeMethods,
则局部中的param生效,全局中的param无效,即被局部中的param覆盖。
同时如果要使用这个,则拦截器必须实现·MethodFilterInterceptor
<span style="font-size:18px;">package ray.interceptors; import ray.listener.PreResultListener; import ray.tools.Consts; import com.opensymphony.xwork2.Action; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.MethodFilterInterceptor; public class LoginInterceptor extends MethodFilterInterceptor { private static final long serialVersionUID = 1L; private ActionContext context = null; @Override protected String doIntercept(ActionInvocation invocation) throws Exception { invocation.addPreResultListener(new PreResultListener()); this.context = invocation.getInvocationContext(); Object object = context.getSession().get(Consts.USERSESSION); if(object == null){ return Action.LOGIN; } else { return invocation.invoke(); } } } </span>
相关文章推荐
- Java基础———第一弹
- eclipse的debug模式启动缓慢 原因
- 【java学习】接口
- eclipse使用教程系列之四:发布部署项目以及常见问题总结
- eclipse使用教程系列之三:导入maven项目转换web项目并打包编译图文详解
- struts2 session丢失,不经意的错误
- JDK帮助文档无法打开的常见问题和解决办法
- java中的clone
- Classpath entry org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER will not be exported or published
- Eclipse下的第一个Hibernate
- eclipse使用教程系列二:从svn上检出项目
- SpringMVC深度探险(四) —— SpringMVC核心配置文件详解
- SpringMVC深度探险(三) —— DispatcherServlet与初始化主线
- 使用maven构建java项目
- 关于java中Map排序问题
- RxJava操作符的一些记录
- 第八章 springboot + mybatis + 多数据源
- java.lang.Math下的方法
- SpringMVC深度探险(二) —— SpringMVC概览
- spring mvc ajax 请求返回json数据