RedirectAttributes简介
来源:互联网 发布:医院预约挂号软件 编辑:程序博客网 时间:2024/05/18 02:08
RedirectAttributes是Spring mvc 3.1版本之后出来的一个功能,专门用于重定向之后还能带参数跳转的
他有两种带参的方式:
第一种:
attr.addAttribute("param", value);
这种方式就相当于重定向之后,在url后面拼接参数,这样在重定向之后的页面或者控制器再去获取url后面的参数就可以了,但这个方式因为是在url后面添加参数的方式,所以暴露了参数,有风险
例:
这样就相当于:return "redirect:/index?name=123&success=success"
第二种:
attr.addFlashAttribute("param", value);
这种方式也能达到重新向带参,而且能隐藏参数,其原理就是放到session中,session在跳到页面后马上移除对象。所以你刷新一下后这个值就会丢掉
例:
经试验证明,以上两种方式都能在Controller中获取到。
他有两种带参的方式:
第一种:
attr.addAttribute("param", value);
这种方式就相当于重定向之后,在url后面拼接参数,这样在重定向之后的页面或者控制器再去获取url后面的参数就可以了,但这个方式因为是在url后面添加参数的方式,所以暴露了参数,有风险
例:
1
2
3
attr.addAttribute(
"name"
,
"123"
);
attr.addAttribute(
"success"
,
"success"
);
return
"redirect:/index"
;
这样就相当于:return "redirect:/index?name=123&success=success"
第二种:
attr.addFlashAttribute("param", value);
这种方式也能达到重新向带参,而且能隐藏参数,其原理就是放到session中,session在跳到页面后马上移除对象。所以你刷新一下后这个值就会丢掉
例:
1
2
3
attr.addFlashAttribute(
"status"
,
"999"
);
attr.addFlashAttribute(
"message"
,
"登录失败"
);
return
"redirect:/toLogin"
;
这种方式确实能重定向带参,但是有个问题,这个只能重定向到页面上,也就是说重定向的这个页面视图,能用el表达式直接获取你带参的值,比如status 和message ,都能获取。
重定向到另一个Controller的时候,这个控制器里面如何获取这两个参数呢?
//因为OutputFlashMap和InputFlashMap 都是由FlashMapManager来管理的 //对于每一次请求一个 “input” flash map 会被创建,来存储来自任何之前请求的 //flash attribute 还有一个 “output” flash map 会被创建,来存储任何我们存储在这个请求中的,之后的请求参数 //这里我获取getInputFlashMap,看看能不能获取到参数,但是还是map2直接为null Map<String, String> map2=(Map<String, String>)RequestContextUtils.getInputFlashMap(request); System.out.println(map2.get("status")); System.out.println(map2.get("message"));
@RequestMapping("flash") public String flash(RedirectAttributes redirectAttributes) { redirectAttributes.addFlashAttribute("username", "Biao"); return "redirect:flash2"; } @RequestMapping("flash2") @ResponseBody public String flash2(@ModelAttribute("username") String username) { return "username: " + username; }
经试验证明,以上两种方式都能在Controller中获取到。
0 0
- RedirectAttributes简介
- RedirectAttributes
- RedirectAttributes
- RedirectAttributes应用
- springMVC之RedirectAttributes
- Spring 中的RedirectAttributes 功能
- Spring中RedirectAttributes说明
- springMVC RedirectAttributes用法
- SpringMVC之RedirectAttributes
- springmvc之RedirectAttributes用法
- Spring RedirectAttributes: addAttribute vs addFlashAttribute
- spring mvc RedirectAttributes 的使用
- RedirectAttributes对象addFlashAttribute()的使用
- SpringMVC 重定向参数 RedirectAttributes
- Spring中RedirectAttributes的用法
- SpringMVC 重定向参数 RedirectAttributes
- Spring MVC RedirectAttributes的用法
- RedirectAttributes对象addFlashAttribute()的使用
- mysql索引总结----mysql 索引类型以及创建
- StrToFloat()精度问题
- TypeScript学习笔记一
- iOS代码获取图片主色调
- 画一张图出来
- RedirectAttributes简介
- android studio查看SHA1,MD5
- react-native-android-guide
- 一些Hadoop面试题及答案
- linux定时备份数据库
- 图片自适应
- C++基本概念
- myeclipse 中项目有红色感叹号的问题解决
- VPN client 配置