私は、Spring 3.1.1とHibernate-validator 4.3.0.Finalを使用しており、クラスパス内のValidationMessagesからの検証メッセージを受け取るデフォルトのMessageInterpolatorの変更に問題があります。SpringのMessageInterpolator
<bean id="resourceBundleMessageInterpolator"
class="org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator">
<constructor-arg index="0">
<bean class="org.springframework.validation.beanvalidation.MessageSourceResourceBundleLocator">
<constructor-arg index="0" ref="messageSource"/>
</bean>
</constructor-arg>
</bean>
<bean id="validator"
class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="messageInterpolator" ref="resourceBundleMessageInterpolator"/>
</bean>
そして私は私がログに自分のWebアプリケーションを起動します。
私は自分のアプリケーションのcontext.xmlにこのような何かをした私の春のmessageSource
からのメッセージを取るであろうResourceBundleMessageInterpolatorを使用したいです
11:04:07,402 DEBUG [org.hibernate.validator.internal.engine.ConfigurationImpl] -
Setting custom MessageInterpolator of type
org.springframework.validation.beanvalidation.LocaleContextMessageInterpolator
11:04:07,402 DEBUG [org.hibernate.validator.internal.engine.ConfigurationImpl] -
Setting custom ConstraintValidatorFactory of type org.springframework .validation.beanvalidation.SpringConstraintValidatorFactory
ご覧のとおり、私が望むResourceBundleMessageInterpolatorではありません。あなたは、私がMessageSourceResourceBundleLocatorを使用したいアプリケーションのcontext.xmlから見ることができるように
11:08:09,397 DEBUG [org.hibernate.validator.resourceloading.PlatformResourceBundleLocator] -
ValidationMessages not found.
11:08:09,413 DEBUG [org.hibernate.validator.resourceloading.PlatformResourceBundleLocator] -
org.hibernate.validator.ValidationMessages found.
:私はちょうどValidationMessages.propertiesからではなく、春のメッセージソースからメッセージを取得し、何かを検証しようとすると、それは
その後LocaleContextMessageInterpolator
です、それが使用されて、私は理由を知らないPlatformResourceBundleLocatorアイデア?
お返事ありがとうございました。以前は、あなたが書いたように、setValidationMessageSourceを使ったもっと簡単なバージョンを使っていました。その振る舞いは、最初に説明したのと同じでした。私の では、属性バリデータ= "バリデータ"を見逃していました。私は属性を追加し、それは動作します。 –
spring-webmvcではなく、spring-webモジュールのみを使用する場合はどうすればよいですか? –
アノテーションベースのコンフィグレーションでバリデータ参照を使用する場所 – karthi