使用@Pattern时显示属性文件消息?

use*_*914 0 java regex spring-annotations

我正在使用 @Pattern 来验证字段:

@Pattern(regexp = Patterns.ZIP_CODE, message="validation.ZIP_CODE")
private String zip;
Run Code Online (Sandbox Code Playgroud)

在我的 messages.properties 文件中,我有以下内容:

validation.ZIP_CODE=Must match NNNNN or NNNNN-NNNN
Run Code Online (Sandbox Code Playgroud)

javadocs似乎暗示它应该查找validation.ZIP_CODE消息:

Returns:
The error message template.
Default:
"{javax.validation.constraints.Pattern.message}"
Run Code Online (Sandbox Code Playgroud)

但我得到的却是这样的文字:

validation.ZIP_CODE
Run Code Online (Sandbox Code Playgroud)

我是否误解了javadoc,或者我是否错误地实现了它?

g8t*_*aul 5

为了在 JEE 6 模式注释中使用国际化消息,我相信您必须将属性名称括在左/右花括号中。

@Pattern(regexp = Patterns.ZIP_CODE, message="{validation.ZIP_CODE}")
private String zip;
Run Code Online (Sandbox Code Playgroud)