摘要:本文主要向大家介绍了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频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号