重定向,将参数带到重定向的页面
RedirectAttributes是Spring mvc 3.1版本之后出来的一个功能,专门用于重定向之后还能带参数跳转的
他有两种带参的方式:
- 第一种方式:
attr.addAttribute(“param”, value);
这种方式就相当于重定向之后,在url后面拼接参数,这样在重定向之后的页面或者控制器再去获取url后面的参数就可以了,但这个方式因为是在url后面添加参数的方式,所以暴露了参数,有风险
demo:
@RequestMapping("/updateSchool")
public String updateSchool(SchoolInfo info,
HttpServletRequest request, RedirectAttributes attr, HttpSession session) {
attr.addAttribute("eid", info.getId());
return "redirect:detail";
}
- 第二种方式:
attr.addFlashAttribute(“param”, value);
这种方式也能达到重新向带参,而且能隐藏参数,其原理就是放到session中,session在跳到页面后马上移除对象。所以你刷新一下后这个值就会丢掉
demo:
attr.addFlashAttribute("status","999");
attr.addFlashAttribute("message","登录失败");
return "redirect:/toLogin";
- 第三种方式:
放到session中