Spring中“addError(ObjectError error)”和“rejectValue(String field,String errorCode)”之间的区别

时间:2012-10-26 14:28:25

标签: spring spring-mvc

我想了解之间的区别:

  • void addError(ObjectError error)(来自 org.springframework.validation.Errors)
  • void rejectValue(String field, errorCode)(来自org.springframework.validation.BindingResult)

我确实阅读过Spring javadocs,但无法理解两者之间的区别。

有人可以提供解释或代码示例吗?

1 个答案:

答案 0 :(得分:5)

rejectValue只是封装了对提供ObjectErrorFieldError实例的addError()的调用。

根据javadoc addError()仅支持ObjectErrorFieldError,因此它不是关于创建自定义ObjectErrors

  

void org.springframework.validation.BindingResult.addError(ObjectError error)

     

将自定义ObjectError或FieldError添加到错误列表中。   旨在由合作策略使用,例如BindingErrorProcessor。

所以addError()更适合框架开发人员,rejectValue()是最佳选择。