我的控制器有一个返回表单支持对象的方法:
@ModelAttribute(“userData”)
public UserData formBackingObject() {
return new UserData();
}
当表单提交未通过其验证检查时,它将被重新显示,但在重新呈现时,userData
对象不包含用户提交的值 - 仅包含初始化时出现的值。
@RequestMapping(method = RequestMethod.POST)
public void userData(HttpServletRequest request, @ModelAttribute(“userData”) UserData userData, BindingResult bindResult, ModelMap model) {
// do validation checks
if (bindResult.hasErrors()) {
// perform redirect back to same page
}
return "userData";
}
答案 0 :(得分:0)
你需要做一个model.addAttribute(“key”,value)。这将有助于将值绑定到模型对象检查http://static.springsource.org/spring/docs/current/spring-framework-reference/html/mvc.html以获取样本。
答案 1 :(得分:0)
@ModelAttribute 通常用于向模型添加参考数据类型的数据。这些注释在 @RequestMapping 之前执行;因此你的属性" userData"在控制到达public void userData()之前使用新对象刷新。方法
解决方案是在方法中将userData添加到模型中,该方法将用户数据表单jsp返回给浏览器。