转--struts2自定义拦截器导致无法传参
来源:互联网 发布:编程导论 pdf 编辑:程序博客网 时间:2024/06/05 08:06
写在前面:action里面的参数一般只需要有setter就可以了,但若参数需要传递到struts.xml里面,比如<result type="redirectAction">${prePage}</result>,则这个prePage必须要加上getter,否则传递不了。因此,好的习惯是都加上getter。
今天做项目时,使用拦截器对用户权限检查。拦截器本身没有问题,可是实现权限拦截,但是传递的参数全部都无效了。搞了很久,由于对拦截器的内部机制不是特别熟悉,所以重新研读了一下Struts2的拦截器。找到了原因:给一个Acton配置一个自定义拦截器后,此action就无法使用框架默认的拦截器栈了,这就导致前后台数据传输无效。
解决方法一般有两种:
一、显示的使用默认拦截器
<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>
1
二、使用<interceptor-ref name="params" />让参数先传递
<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>
1 0 0
- 转--struts2自定义拦截器导致无法传参
- Struts2中自定义拦截器导致Action注入参数丢失
- Struts2中自定义拦截器导致Action注入参数丢失
- struts2 自定义拦截器
- Struts2自定义拦截器
- Struts2自定义拦截器
- struts2自定义拦截器
- Struts2自定义拦截器
- Struts2自定义拦截器
- Struts2自定义拦截器
- Struts2自定义拦截器
- struts2自定义拦截器
- Struts2---自定义拦截器
- struts2自定义拦截器
- struts2自定义拦截器
- Struts2自定义拦截器
- struts2自定义拦截器
- struts2自定义拦截器
- Interllij 快速重写父类方法
- 快速排序两种实现方式
- 全员生产维修的基本概念和特点
- python线程问题
- odoo9在treeview视图固定表头
- 转--struts2自定义拦截器导致无法传参
- 一款比top强悍好用的进程管理监控工具
- 使用view/imagview画圆
- 求字符串里面数字之和
- mysql主从同步,超详细,(新手写的所以新手看了就会)
- ping命令
- 1
- SSH—网上商城之商品图片文件上传
- mysql ERROR 1045 (28000): Access denied for user