struts2 使用拦截器传值丢失

使用struts2的拦截器后,我发现跳转以后会丢失访问携带的参数。调试了好久才发现,原来struts的所有action都是有默认拦截器的,这个拦截器如下:

    <interceptor-ref name="defaultStack"/>  

当我们在action上配置了我们自己实现的拦截器后,struts就会抛弃原有的默认拦截器,而默认的拦截器有处理参数的功能,所以就导致我们的参数在转发中出现丢失的情况。解决方法很简单,就是在我们的拦截器前面配上struts的默认拦截器。

    <action name="goCharge" class="com.pay.action.WeiXinPayAction" method="change">  
                <result name="vipList">/mobile/success.jsp</result>  
                <interceptor-ref name="defaultStack"/>  
                <interceptor-ref name="openId-interceptor"/>  
            </action>  

加上默认拦截器后,我们就可以在逻辑代码里面获得请求参数

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概述 什么是Struts2的框架Struts2是Struts1的下一代产品,是在 struts1和WebWork的...
    inke阅读 6,682评论 0 50
  • action中如何接受页面传过来的参数 第一种情况:(同名参数) 例如:通过页面要把id=1 name=tom a...
    清枫_小天阅读 8,109评论 1 22
  • 1、struts2工作流程 Struts 2框架本身大致可以分为3个部分: 核心控制器FilterDispatch...
    重山杨阅读 5,404评论 0 38
  • 1.什么是框架 什么是框架,框架从何而来,为什么使用框架? 1).框架(framework)——半成品: 1.是一...
    贾里阅读 8,539评论 0 0
  • 本文包括: 1、Struts 2 概述2、Struts 2 快速入门3、Struts 2 的执行流程4、配置 st...
    廖少少阅读 8,086评论 3 13