0
我使用flashAttribute將數據重定向到其他控制器操作。 但是模型是空的。代碼看起來是正確的。其他行爲中的相同代碼就像魅力一樣工作。唯一的區別是方法簽名上的@PathVariableRedirectAttribute不工作 - 模型在Spring mvc控制器中爲空
@RequestMapping("/user/edit-execute")
public String editExecute(@ModelAttribute @Valid UserEditForm userEditForm, BindingResult result, RedirectAttributes attr,HttpServletRequest httpServletRequest) {
basePath =""
ModelAndView m = new ModelAndView("user.edit");
ModelAndView redirect = new ModelAndView("redirect:/user/");
HttpSession session = httpServletRequest.getSession();
try{
if(userEditForm.getStatus()==null){
userEditForm.setStatus(0);
}
if(!result.hasFieldErrors()) {
userDaoCrud.update(userEditForm, userEditForm.getId_user());
session.setAttribute("message", "Operazione completata con successo.");
session.setAttribute("css_class", "dashboard_ok");
return "redirect: " + basePath + "/user";
}else{
attr.addFlashAttribute("org.springframework.validation.BindingResult.userEditForm", result);
attr.addFlashAttribute("userEditForm", userEditForm);
return "redirect: " + basePath + "/user/edit/"+userEditForm.getId_user();
}
} catch (Exception e) {
e.printStackTrace();
return "redirect: " + basePath + "/user/edit/"+userEditForm.getId_user();
}
}
@RequestMapping("/user/edit/{id}")
public String edit(Model model, @PathVariable("id") int id, HttpServletRequest httpServletRequest) {
logger.warn(model);
....
return "user.edit";
}