有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Spring对象错误getDefaultMessage()编码

我使用的是@Valid注释,当错误mesage有特殊字符时,它们总是显示不正确

public class Test {
 @NotEmpty(message = "{test}")
 private String test;
 //omitted getter and setter
}

验证消息。特性:

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()));
    }
}

春季信息资源:

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

有人能帮我解决这个问题吗


共 (1) 个答案

  1. # 1 楼答案

    确保ValidationMessages.propertiesUTF-8编码的。使用文本编辑器(例如Notepad++)或IDE更改编码