Java Spring验证为我的消息代码添加后缀
我正在尝试使用SpringValidator实现表单验证,遵循和提供的这些教程。 似乎在提交表单时调用了验证程序方法验证,抛出了错误,但消息代码与我指定的不同。Java Spring验证为我的消息代码添加后缀,java,spring,forms,validation,Java,Spring,Forms,Validation,我正在尝试使用SpringValidator实现表单验证,遵循和提供的这些教程。 似乎在提交表单时调用了验证程序方法验证,抛出了错误,但消息代码与我指定的不同。 我有一个名为Song的bean,其属性名为title 在我的验证器中,我有 ValidationUtils.rejectIfEmptyOrWhitespace(错误,“title”,“title.required”) 然而,我收到了这个错误消息 org.springframework.context.NoSuchMessageExcep
我有一个名为Song的bean,其属性名为title 在我的验证器中,我有
ValidationUtils.rejectIfEmptyOrWhitespace(错误,“title”,“title.required”)代码>
然而,我收到了这个错误消息
org.springframework.context.NoSuchMessageException:在区域设置“en_US”的代码“title.required.song.title”下未找到任何消息。
它在title.required.song.title下搜索邮件,而不是title.required,我猜是在文件名messages\u en\u US.properties下
我怎样才能改变这种行为
放置在/src/
文件夹下的Mymessages.properties具有
title.required=Ce champ est obligatoire
@Entity
public class Song {
@Id
@GeneratedValue
private Long id;
private String title;
//and other stuff
将此添加到配置xml中:
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource"
p:basename="classpath:messages" />
最好的祝愿实际上,在我的配置xml中,我使用了教程中的ResourceBundleMessageSource,而不是可重新加载的ResourceBundleMessageSource。换班解决了这个问题。谢谢(顺便说一句,我在实践中仍然难以理解差异)检查此url解释差异是什么
@Bean(name = "messageSource")
public ReloadableResourceBundleMessageSource reloadableResourceBundleMessageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasenames("classpath:messages");
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}