• 解决Struts2拦截器的对于参数传递无效问题


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

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

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

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

    1 <action name="enterSystem_*" class="enterSystemManager" method="{1}">
    2 <!-- 使用拦截器:进行权限检查 -->
    3 <interceptor-ref name="params" />
    4 <interceptor-ref name="autority" />
    5 <result name="workerMangerUI">/WEB-INF/page/backstage/system/workerManager.jsp</result>
    6 <result name="positionMangerUI">/WEB-INF/page/backstage/system/positionManager.jsp</result>
    7 </action>
  • 相关阅读:
    2018-4-17-软件设计-白话依赖注入
    2018-2-13-wpf-PreviewTextInput-在鼠标输入获得-_u0003
    2018-5-23-为何-987654321_123456789-的值是-8.0000000729
    寄存器位写操作
    Linux多IP配置
    Kconfig和Makefile
    linux设置网卡速率
    Winmanager,NERDTree和MiniBufExplorer
    SuperTab
    ping
  • 原文地址:https://www.cnblogs.com/lvfeilong/p/35634fdgfdgdf.html
Copyright © 2020-2023  润新知