@RequestMapping(value = "/login", method = RequestMethod.POST)
public ModelAndView loginPage(@Valid @ModelAttribute("user")User user, BindingResult result, ModelMap model) {
if(result.hasErrors()){
model.addAttribute("failedLogin", "username or password is invalid");
}
if(loginService.authenticateUser(user.getUsername(), user.getPassword())){
model.addAttribute("username", user.getUsername());
return new ModelAndView("redirect:/welcome");
}
else{
return new ModelAndView("login/login");
}
}
@RequestMapping(value = "/welcome", method = RequestMethod.GET)
public String welcomePage(@Valid @ModelAttribute("user")User user, BindingResult result, ModelMap model){
model.addAttribute("username", user.getUsername());
return "login/welcome";
}
Iにログインすると、私はモデルをきれいにすることはできませんが、私はJSPファイルでusernameパラメータを使用してSpring MVCのは、パラメータ
'をhttp://localhost:8080/SpringMVC/welcome' を待っている間、私は 'http://localhost:8080/SpringMVC/welcome?username=volkansahin' を取得せずにリダイレクトします。
model.addAttribute( "username"、user.getUsername()); ' –
ここで何をする必要がありますか? –
あなたは他のコントローラにリダイレクトしようとしていると思いました。 loginPage方法が代わりに変更されなければならない: ... loginPage(@Valid @ModelAttribute( "ユーザ")ユーザーのユーザー、BindingResult結果、ModelMapモデル、最終RedirectAttributesのredirectAttributes){ IF(result.hasErrors()){ model.addAttribute( "failedLogin"、 "ユーザー名またはパスワードが無効です"); } if(loginService.authenticateUser(user.getUsername()、user.getPassword())){ redirectAttributes.addFlashAttribute( "username"、user.getUsername()); 新しいModelAndViewを返します( "redirect:/ welcome"); } – youness