首页 > 代码库 > 解决Struts2拦截器的对于参数传递无效问题
解决Struts2拦截器的对于参数传递无效问题
今天做项目时,使用拦截器对用户权限检查。拦截器本身没有问题,可是实现权限拦截,但是传递的参数全部都无效了。搞了很久,由于对拦截器的内部机制不是特别熟悉,所以重新研读了一下Struts2的拦截器。找到了原因:给一个Acton配置一个自定义拦截器后,此action就无法使用框架默认的拦截器栈了,这就导致前后台数据传输无效。
解决方法一般有两种:
一、显示的使用默认拦截器
View Row Code
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" />让参数先传递
View Row Code
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> |
解决Struts2拦截器的对于参数传递无效问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。