Errors及相关类
Posted majority
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Errors及相关类相关的知识,希望对你有一定的参考价值。
1.接口Errors:存储和公开关于特定对象的数据绑定和验证错误的信息。字段名可以是目标对象的属性或嵌套字段的子对象。支持通过setNestedPath(String)进行子树导航:例如,AddressValidator验证“address”,但不知道这是customer的子对象。Errors
是单线程的。
a.String NESTED_PATH_SEPARATOR = PropertyAccessor.NESTED_PROPERTY_SEPARATOR:嵌套路径中路径元素之间的分隔符,例如在“customer.name”或“customer.address.street”中。
b.void setNestedPath(String nestedPath):允许更改上下文,以便标准验证器能够验证子树。Reject调用将给定的路径放在字段名的前面。例如,一个address validator可以验证customer的子对象“address。参数nestedPath:对象内的嵌套路径。“address”(默认为“”,null也是可以接受的)。可以以点结尾:“address”和“address.”都是有效的。
c.String getNestedPath():返回此Errors对象的当前嵌套路径。返回带有点的嵌套路径,即“address.”,方便建立连结路径。默认值是一个空字符串。
d.void pushNestedPath(String subPath):将给定的子路径推入嵌套路径堆栈。popNestedPath()调用将在相应的pushNestedPath(String
)调用之前重置原始嵌套路径。使用嵌套路径堆栈可以为子对象设置临时嵌套路径,而不必担心临时路径保持器。例如:当前路径"spouse.", pushNestedPath("child")->结果路径"spouse.child.";popNestedPath() ->“spouse.”。参数subPath:要推入嵌套路径堆栈的子路径。
e.void popNestedPath() throws IllegalStateException:从嵌套路径堆栈中弹出前一个嵌套路径。
f.void reject(String errorCode)、void reject(String errorCode, String defaultMessage)、void reject(String errorCode, Object[] errorArgs, String defaultMessage):使用给定的错误描述为整个目标对象注册一个全局错误。
errorCode:错误代码,可解释为消息键
errorArgs:错误参数,用于通过MessageFormat绑定参数(可以为空)
defaultMessage:返回默认消息
g.void rejectValue(String field, String errorCode)、void rejectValue(String field, String errorCode, String defaultMessage)、void rejectValue(String field, String errorCode, Object[] errorArgs, String defaultMessage):使用给定的错误描述为当前对象的指定字段注册一个field错误(根据当前嵌套路径(如果有的话))。字段名可以是null或空字符串,以指示当前对象本身,而不是其字段。这可能导致嵌套对象图中相应的字段错误,如果当前对象是顶部对象,则可能导致全局错误。
field:字段名(可以是null或空字符串)
errorCode:错误代码,可解释为消息键
errorArgs:错误参数,用于通过MessageFormat绑定参数(可以为空)
defaultMessage:返回默认消息
h.void addAllErrors(Errors errors):将给定错误实例中的所有错误添加到此错误实例。这是一个便利方法,用于避免将一个错误实例合并到另一个错误实例的重复reject
(..)调用。请注意,传入的错误实例应该引用相同的目标对象,或者至少包含适用于此错误实例的目标对象的兼容错误。
i.boolean hasErrors():如果有任何错误,返回。
j.int getErrorCount():返回错误总数
k.List<ObjectError> getAllErrors():获取所有错误,包括全局错误和字段错误。
l.boolean hasGlobalErrors():是否存在全局错误?
m.int getGlobalErrorCount():全局错误个数
n.List<ObjectError> getGlobalErrors()获取所有全局错误
o.ObjectError getGlobalError():获取第一个全局错误
p.boolean hasFieldErrors():是否有字段错误
q.int getFieldErrorCount():返回与字段关联的错误数。
r.List<FieldError> getFieldErrors():获取与字段关联的所有错误。
s.FieldError getFieldError():获取与字段关联的第一个错误(如果有的话)。
t.boolean hasFieldErrors(String field):是否存在与给定字段相关的错误
以上是关于Errors及相关类的主要内容,如果未能解决你的问题,请参考以下文章
spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象(代码片段