用途:带参数跳转的重定向,有两种带参数的方式
第一种:
attr.addAttribute("param", value);
例如:
attr.addFlashAttribute("id", "123");
attr.addFlashAttribute("name", "Jack");
return "redirect:/index";
这样就相当于:return "redirect:/index?id=123&name=Jack"
但是在url后面添加参数的方式,暴露了参数,有一定的风险。
第二种:
attr.addFlashAttribute("param", value);
例如:
attr.addFlashAttribute("status","999");
attr.addFlashAttribute("message","登录失败");
return "redirect:/toLogin";
这种方法可以隐藏参数,原理是将参数保存到session中,session在跳到页面后马上移除对象。所以你刷新一下后这个值就会丢掉。