zoukankan      html  css  js  c++  java
  • 解决拦截器的对于参数传递无效问题

                今天做项目时,使用拦截器对用户权限检查。拦截器本身没有问题,可是实现权限拦截,但是传递的参数全部都无效了。搞了很久,由于对拦截器的内部机制不是特别熟悉,所以重新研读了一下Struts2的拦截器。找到了原因:给一个Acton配置一个自定义拦截器后,此action就无法使用框架默认的拦截器栈了,这就导致前后台数据传输无效。

               解决方法一般有两种:

               一、显示的使用默认拦截器

         <action name="enterSystem_*" class="enterSystemManager" method="{1}">
    
                      <!-- 使用拦截器:进行权限检查 -->
    
                      <interceptor-ref name="defaultStack" />
    
                      <interceptor-ref name="autority" />
    
    
                      <result name="workerMangerUI">/WEB-INF/page/backstage/system/workerManager.jsp</result>
    
                      <result name="positionMangerUI">/WEB-INF/page/backstage/system/positionManager.jsp</result>
    
       </action>
    
    


              二、使用<interceptor-ref name="params" />让参数先传递

      <action name="enterSystem_*" class="enterSystemManager" method="{1}">
    
                   <!-- 使用拦截器:进行权限检查 -->
    
                   <interceptor-ref name="params" />
    
                   <interceptor-ref name="autority" />
    
    
                   <result name="workerMangerUI">/WEB-INF/page/backstage/system/workerManager.jsp</result>
    
                   <result name="positionMangerUI">/WEB-INF/page/backstage/system/positionManager.jsp</result>
    
      </action>
    

  • 相关阅读:
    postgresql修改postgres用户密码
    centos7 安装netstat命令工具
    sqlplus、lsnrctl命令工具不可用(libclntsh.so.11.1)
    oracle修改数据文件目录
    oracle数据库主主复制
    Spring--quartzJob配置
    TimerTask--spring配置
    SSM+Apache shiro--ehcache缓存清理
    SSM+Apache shiro--自定义realm
    ssm+Apache shiro--配置文件
  • 原文地址:https://www.cnblogs.com/oversea201405/p/3752221.html
Copyright © 2011-2022 走看看