java消息插值不工作
我试图设置一个API,在将请求映射到数据传输对象时进行验证。我对插入数据库驱动的消息源有问题。my DB中的记录有占位符:
id,oplock,code,msg,locale
9,0,minmax_password,"Password length should be a minimum of {1} and maximum of {2}.","en"
我的数据传输对象(应该映射到我的请求)具有以下属性:
@NotBlank(message = "{notnull_password}")
@Size(min = 6, max = 20,message = "{minmax_password}")
private String password;
这是我的XML设置:
<beans:bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<beans:property name="validationMessageSource" ref="messageSourceServiceImp"/>
</beans:bean>
<mvc:annotation-driven validator="validator">
</mvc:annotation-driven>
为了简洁起见,我删除了MessageSource实现,但正如前面提到的,它是数据库驱动的。现在,当我提交一个Password
不满足最低要求的请求时,它抛出一个错误,并调用MessageSource,它返回记录。。。到现在为止,一直都还不错。我观察到的是,它随后为{1}
调用MessageSource(这是MessageSource记录中的占位符);我在想,这将被宣言中的@Size(min = 6, max = 20,message = "{minmax_password}")
所取代。因此,将返回以下内容:
"Password length should be a minimum of {1} and maximum of {2}."
如果我遗漏了什么,请告诉我
谢谢
共 (0) 个答案