今天说一下RedirectAttributes的使用(它专门用于重定向之后还能带参数跳转)。
第一种:
在Controller的方法的参数中添加RedirectAttribute redirect的参数,如@RequestMapping(“/login”)
public String login(@RequestParam(“username”)String username,@RequestParam(“password”)String password,Model model,RedirectAttributes redirectAttribute){
User user=new User();
user.setUsername(username);
user.setPassword(password);
redirectAttribute.addAttribute(“username”, username);
redirectAttribute.addAttribute(“password”,password);
int count=userServer.userselect(username, password);
if(count >0){
model.addAttribute(“user”, user);
return “redirect:/main.jsp”;
}else{
return “regist”;
}
但是使用redirectAttribute.addAttribute(“”,”“);就相当于return”redirect:/main?name=123”
第二种:
这种方式也能达到重新向带参,而且能隐藏参宿,其原来就是放到Session中,Session在跳转到页面后马上移除对象,所以你刷新一下后这个值就会丢掉
redirectAttribute.addFlashAttribute(“”,”“);
这种方式确实能重定向带参,但是有个问题,无论重定向到页面还是Controller都无法获得传递的参数。
所以还是使用Model来传递参数了,为了不暴露信息就不适用redirectAttribute.addAttribute();
RedirectAttributes应用
最新推荐文章于 2021-08-19 21:03:24 发布