我正在使用@Valid注释,当错误消息具有特殊字符时,它们始终显示不正确。
public class Test {
@NotEmpty(message = "{test}")
private String test;
//omitted getter and setter
}
ValidationMessages.properties:
test=Número
错误处理:
private void handleBindException(final Exception ex, final Result res) {
BindException bex = (BindException) ex;
for (ObjectError error : bex.getAllErrors()) {
res.addError(new ErrorCode(error.getCode(), error.getDefaultMessage()));
}
}
Spring MessageResouce:
public ReloadableResourceBundleMessageSource messageSource() {
ReloadableResourceBundleMessageSource ms = new ReloadableResourceBundleMessageSource();
ms.setBasename("classpath:ValidationMessages");
ms.setUseCodeAsDefaultMessage(true);
ms.setDefaultEncoding("UTF-8");
ms.setCacheSeconds(0);
return ms;
}
最终结果:
Número
有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
确保ValidationMessages.properties
已UTF-8
编码。使用文本编辑器(例如Notepad ++)或IDE更改编码。