首页 > 代码库 > 自定义拦截器
自定义拦截器
1 2 1、编写一个类,实现com.opensymphony.xwork2.interceptor.Interceptor 3 2、主要实现public String intercept(ActionInvocation invocation) throws Exception{}方法 4 该方法的返回值就相当于动作的返回值 5 如果调用了String result = invocation.invoke();得到了动作类的返回的值。 6 public String intercept(ActionInvocation invocation) throws Exception { 7 //判断用户是否登录 8 HttpSession session = ServletActionContext.getRequest().getSession(); 9 Object obj = session.getAttribute("user"); 10 if(obj==null){ 11 return "login"; 12 }else{ 13 return invocation.invoke();//调用动作方法 14 } 15 } 16 3、拦截器定义好后,一定要在配置文件中进行注册: 17 <interceptors> 只是定义拦截器,并没有起作用 18 <interceptor name="permissionInterceptor" class="cn.itcast.interceptor.PermissionInterceptor"></interceptor> 19 </interceptors> 20 4、配置文件中的动作,要通过 21 <interceptor-ref name="permissionInterceptor"></interceptor-ref>使用该拦截器 22 注意:一旦动作中使用了自定义的拦截器,那么默认的就不起作用了。一般应该采用如下的做法: 23 <interceptor-ref name="defaultStack"></interceptor-ref> 24 <interceptor-ref name="permissionInterceptor"></interceptor-ref> 25 26 多个动作类都要使用的话,可以通过package来进行组合。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。