首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

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

2012-09-15 
解决拦截器的对于参数传递无效问题今天做项目时,使用拦截器对用户权限检查。拦截器本身没有问题,可是实现权

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

            今天做项目时,使用拦截器对用户权限检查。拦截器本身没有问题,可是实现权限拦截,但是传递的参数全部都无效了。搞了很久,由于对拦截器的内部机制不是特别熟悉,所以重新研读了一下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>

热点排行