0

资源键外观的默认行为似乎是在字段名称前加上约束。我想发布修复它。

public class MyForm {
    @NotEmpty
    private String name;
}

在我的messages.properties

myForm.name=The label
NotEmpty.myForm.name=Please enter your name

我想使用:

myForm.name=The label
myForm.name.NotEmpty=Please enter your name

这显然纯粹是装饰性的,但我的强迫症无法处理我的资源文件的外观。

我正在使用带有休眠验证器 4.3.0.Final 的 spring 3.1.2。它自己的应用程序使用@Configuration,@EnableWebMvcWebMvcConfigurerAdapter样式配置,但我应该能够翻译任何基于 xml 的解决方案。

4

1 回答 1

1

一个简单的想法是扩展DefaultMessageCodesResolver和覆盖postProcessMessageCode()最初的方法:

protected String postProcessMessageCode(String code) {
    return getPrefix() + code;
}

并按照你想要的方式改变它。我相信 Spring 会在引导时将您的 bean 类型MessageCodesResolver作为默认行为。希望这可以帮助。

Spring 3.1+中,现在您可以通过<mvc:annotation-driven />. 似乎对 Java API 的支持将出现在3.2中。

于 2012-07-20T10:30:50.123 回答