有 Java 编程相关的问题?

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

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) 个答案