Flash基础入门之SpringMVC源代码学习外传(二)如何在重定向时传递参数&FlashMap
小标 2019-01-24 来源 : 阅读 1218 评论 0

摘要:本文主要向大家介绍了Flash基础入门之SpringMVC源代码学习外传(二)如何在重定向时传递参数&FlashMap,通过具体的内容向大家展现,希望对大家学习Flash基础入门有所帮助。

本文主要向大家介绍了Flash基础入门之SpringMVC源代码学习外传(二)如何在重定向时传递参数&FlashMap,通过具体的内容向大家展现,希望对大家学习Flash基础入门有所帮助。
加上外传关键字的是讨论一些SpringMVC的特定类的使用方法, 
非外传的是对启动流程/请求处理流程,我们可以看作主线剧情。

什么是FlashMap?

flashmap的作用是在redirect中传递参数。大家都知道转发 request是不变的,重定向会生成新的request,那传递参数就不能直接用request进行传递。

spring提供了相应的方法解决这个问题,两种方法:

    //1.得到一个FlashMap,然后直接调用put方法,如:
    flashmap.put("name","xialu");
    //2.在handler的方法参数中传入RedirectAttributes类型的变量,这个用起来简便,但是有局限性。如:
    @RequestMapping("test")
    public String test(RedirectAttributes attr){
        attr.addAttribute("name","xialu");         //这里传入的参数会出现在重定向后的url中,相当于get方式。
        attr.addFlashAttribute("name","xialu");    //这里传入的参数会用flashmap保存
        return "redirect:index.do";
    }

获得flashmap的三种方式,这里引用的request是该次请求的HttpServletRequest:



    //1.RequestContextUtils是spring提供的类,其实做法和第二条一模一样了。
    FlashMap flashmap = RequestContextUtils.getOutputFlashMap(request);
    //2.
    FlashMap flashmap = ((FlashMap)(request.getAttribute(DispatcherServlet.OUTPUT_FLASH_MAP_ATTRIBUTE)));

获得HttpServletRequest的两种方法:



    //1.直接从Controller的方法参数中获取
    @RequestMapping("test")
    public void test(HttpServletRequest request){
    }
    //2.通用的方法,在哪里都可以调用
    HttpServletRequest request = ((ServletRequestAttributes)(RequestContextHolder.getRequestAttributes())).getRequest();
        
            $(function () {
                $(‘pre.prettyprint code‘).each(function () {
                    var lines = $(this).text().split(‘\n‘).length;
                    var $numbering = $(‘

  • ‘).addClass(‘pre-numbering‘).hide();


  •                     $(this).addClass(‘has-numbering‘).parent().append($numbering);


  •                     for (i = 1; i <= lines; i++) {


  •                         $numbering.append($(‘

  • ‘).text(i));
                        };
                        $numbering.fadeIn(1700);
                    });
                });

以上就介绍了Flash的相关知识,希望对Flash有兴趣的朋友有所帮助。了解更多内容,请关注职坐标常用软件Flash频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程