zoukankan      html  css  js  c++  java
  • 自定义拦截器

    首先自定义拦截器需要实现Interceptor接口

    package control.center;

    import com.opensymphony.xwork2.ActionContext;
    import com.opensymphony.xwork2.ActionInvocation;
    import com.opensymphony.xwork2.interceptor.Interceptor;

    public class PersonAction implements Interceptor {

     @Override
     public void destroy() {

     }

     @Override
     public void init() {

     }

     @Override
     //当拦截到Action的时候执行该方法
     public String intercept(ActionInvocation arg0) throws Exception {

      Object user=ActionContext.getContext().getSession().get("user");
      if(user!=null)
      {
       //调用该用法就执行被拦截到的方法
       arg0.invoke(); 
      }
      ActionContext.getContext().put("message","你没有权限执行该操作"); 
      return "message";
     }

    }

    然后再struts2配置文件中声明和使用拦截器:

    <struts>
        <package name="employee" namespace="/control/center" extends="struts-default">
           <!--
                                   配置中声明自定义拦截器
                                  自定义拦截器后,默认的拦截器不能在使用,所以要使用拦截器栈
           -->
           <interceptors>
              <!--<interceptor name="Permission" class="control.center.HelloWordAction"/> -->
              <interceptor-stack name="permissionStack">
                 <!-- 引入系统默认拦截器栈 -->
                 <interceptor-ref name="defaultStack"/>
                 <!-- 引入自定义拦截器 -->
                 <interceptor-ref name="permission"/>
              </interceptor-stack>
           </interceptors>
          
            <action name="list_*" class="control.center.HelloWordAction" method="{1}">
                <!--在Action中应用拦截器-->            
                <interceptor-ref name="permission"/>
                <result type="success">/WEB-INF/message.jsp</result>
            </action>
        </package>
    </struts>

  • 相关阅读:
    delphi 获取图片某一像素的颜色值
    delphi常用快捷键(我自己经常使用的)
    115.css的initial、inherit、unset
    菜鸡前端的配色记录-echart比较好看的配色
    114.关于前端的vertical-align详解
    Problem
    Oracle从入门到入门的学习历程
    使用navicat连接oracleXE
    使用ElementUI遭遇问题记录
    SonarQube遇见的问题
  • 原文地址:https://www.cnblogs.com/jinzhengquan/p/1965737.html
Copyright © 2011-2022 走看看