在此示例中,我不明白BindingResult
的含义以及下面if (binding.hasErrors())
的含义。
@RequestMapping(value = "/test", method = RequestMethod.POST)
public final String submit(@ModelAttribute(TEST) @Valid final Test test, final BindingResult binding,
final HttpServletRequest request, final ModelMap modelMap)
{
if (binding.hasErrors())
{
return "test";
}
答案 0 :(得分:2)
BindingResult
是与前一个参数关联的数据绑定结果(即test
)。它包含有关绑定请求参数与test
属性的错误的信息,例如类型不匹配。当@Valid
注释出现时,它还会保存test
的自动验证所产生的错误。
因此,binding.hasErrors()
确定在绑定和验证test
期间是否发现错误。出现此类错误时,典型的行为是重新显示带有错误消息的表单。