spring mvc 实现Controller之间跳转 并顺带参数
spring mvc 实现Controller之间跳转 并附带参数
业务场景:在做用户注册时,用户填写完注册信息,后台验证有违规操作时,将返回到注册页面,并且显示错误信息。spring里面Controller之间跳转,只能是通过重定向(redirect)之间跳转,不然会爆无法找到视图的错误.
方式1:带参数,但是不会在URL上面显示参数信息(spring也不会自动添加)
重点在:RedirectAttributes
这样设置后,
完整代码:
方式二:直接redirect:/register.html即可
使用request传递参数,则spring会自动将设置的参数添加到url上面拼接显示
业务场景:在做用户注册时,用户填写完注册信息,后台验证有违规操作时,将返回到注册页面,并且显示错误信息。spring里面Controller之间跳转,只能是通过重定向(redirect)之间跳转,不然会爆无法找到视图的错误.
方式1:带参数,但是不会在URL上面显示参数信息(spring也不会自动添加)
重点在:RedirectAttributes
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上面拼接显示