业务场景:在做用户注册时,用户填写完注册信息,后台验证有违规操作时,将返回到注册页面,并且显示错误信息。spring里面Controller之间跳转,只能是通过重定向(redirect)之间跳转,不然会爆无法找到视图的错误.
方式1:带参数,但是不会在URL上面显示参数信息(spring也不会自动添加)
重点在:[b]RedirectAttributes[/b]
这样设置后,
完整代码:
方式二:直接redirect:/register.html即可
使用request传递参数,则spring会自动将设置的参数添加到url上面拼接显示
方式1:带参数,但是不会在URL上面显示参数信息(spring也不会自动添加)
重点在:[b]RedirectAttributes[/b]
attribute.addFlashAttribute("errorInfo", msg);
这样设置后,
return "redirect:/register.html"
将重定向到register定义的Controller,并且参数不会附加到register.html上面register.html?errorInfo=**** 这样种形式显示,而只是register.html这种形式的显示跳转
完整代码:
@RequestMapping(value = "/save", method = RequestMethod.GET)
public String save(@ModelAttribute("member") Member member,RedirectAttributes attribute){
String msg= "success";
String toPage ="redirect:/";
msg = "手机号已被占用";
if(!"success".equals(msg)){
attribute.addFlashAttribute("errorInfo", msg);
toPage="redirect:/register.html";
}else{
}
return toPage;
}
方式二:直接redirect:/register.html即可
使用request传递参数,则spring会自动将设置的参数添加到url上面拼接显示