私のWebアプリケーションでは、アノテーションでエラーを処理します。すべてうまく動作し、私は "メッセージ"パラメータを介してカスタムメッセージを使用することができます。Spring MVCカスタムエラーと国際化
@Digits(fraction = 0, integer = 3, message="my custom error message...")
private String price;
今、私は.propertiesファイルのファイルで、このメッセージを国際化しようとしているが、私は確かに何かを欠場し、私はそれを動作させることはできません。
私の春の設定:
<beans:bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<beans:property name="basenames" value="classpath:i18n/messages, classpath:i18n/errors" />
<beans:property name="defaultEncoding" value="UTF-8" />
</beans:bean>
<beans:bean name="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<beans:property name="validationMessageSource">
<beans:ref bean="messageSource" />
</beans:property>
</beans:bean>
<beans:bean id="localeResolver" class="org.springframework.web.servlet.i18n.FixedLocaleResolver">
<beans:property name="defaultLocale" value="fr" />
</beans:bean>
私の新しいbean:
@Digits(fraction = 0, integer = 3)
private String price;
マイ "errors_fr.properties" ファイル。
Digits.myBean.myNestedBean.price = my custom error message...
Digits.myNestedBean.price = my custom error message...
javax.validation.constraints.Digits.myNestedBean.price = my custom error message...
私はいつも春から同じ一般的なメッセージを取得し、それは春は私の.propertiesファイルを検出しないようようなものだ:私はすでにすべてを試みました。ところで、上記のメッセージキーはデバッグ時にBindingResultオブジェクトにあります。
私はここで何が欠けていますか?
私はすでに自分のjsp( "messages_fr.properties"ファイル内)に国際化対応のメッセージがあり、正常に動作することに注意してください。
はい、あなたは絶対に正しいです! ValidatorMessages.propertiesをクラスパスに配置しようとしましたが、うまくいきませんでした。あなたのリンクを読んだ後、私はなぜそれをValidatorMessages_fr.propertiesと呼んだのですか?それを "ValidatorMessages_fr_FR.properties"と名づけなければなりません。ほんとありがと !しかし、あなたの答えを確認する前に、私が知りたかったのは、 "ValidatorMessages_fr_FR.properties"の代わりに "errors_fr.properties"というファイルを呼び出す方法がありますか? –
私はこれを試していないが、スレッドhttp://forum.springsource.org/showthread.php?86237-JSR-303-Validation-Spring-MVC-and-messages-propertiesの最後のコメントのように思える。メッセージをファイルmessages.propertiesに保持する。これがあなたのために働くかどうか教えてください。私もそれを試してみましょう。 :) – vincentks
はい、それはうまくいくようです!しかし、xml構成だけを使用するといいです(私はなぜ私の初期設定がうまくいかないのか分かりません)。しかしこれは別の問題です。ありがとう! –