在Spring中说“if(binding.hasErrors())”是什么意思?

时间:2010-08-29 13:58:00

标签: spring spring-mvc

在此示例中,我不明白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";
    }

1 个答案:

答案 0 :(得分:2)

BindingResult是与前一个参数关联的数据绑定结果(即test)。它包含有关绑定请求参数与test属性的错误的信息,例如类型不匹配。当@Valid注释出现时,它还会保存test的自动验证所产生的错误。

因此,binding.hasErrors()确定在绑定和验证test期间是否发现错误。出现此类错误时,典型的行为是重新显示带有错误消息的表单。