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

bal*_*teo 2 spring spring-mvc

我试图理解之间的区别:

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

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

任何人都可以提供解释或代码示例吗?

Bor*_*hov 6

rejectValue简单地封装对addError()提供ObjectErrorFieldError实例的调用.

根据javadoc addError()只支持ObjectErrorAnd FieldError,所以它不是关于创建自定义ObjectErrors

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

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

所以addError()更适合框架开发人员并且rejectValue()是要走的路.