验证后的java Spring返回
我有一个页面要添加用户“/user/userAdd”。在GET中,我填充了一个国家列表。在POST中,我从formsubmit验证用户对象。如果它有错误,我返回到错误消息相同的页面。我的问题是我只是简单地返回“/user/userAdd”;国家/地区列表未填充。如果我返回“重定向:/user/userAdd”;我正在丢失以前的用户输入。我该怎么处理
@RequestMapping(value = "/user/userAdd", method = RequestMethod.GET)
public void getUserAdd(Model aaModel) {
aaModel.addAttribute("user", new User());
List<Country> llistCountry = this.caService.findCountryAll();
aaModel.addAttribute("countrys", llistCountry);
}
@RequestMapping(value = "/user/userAdd", method = RequestMethod.POST)
public String postUserAdd(@ModelAttribute("user") @Valid User user,
BindingResult aaResult, SessionStatus aaStatus) {
if (aaResult.hasErrors()) {
return "/user/userAdd";
} else {
user = this.caService.saveUser(user);
aaStatus.setComplete();
return "redirect:/login";
}
}
# 1 楼答案
在我的spring项目中,我也面临着类似的问题。我建议您将POST方法更改为以下方法
在这里,列表再次添加到模型中,并且它还将保留UI中以前选择的值(如果有)
希望这有帮助