国際化のためにSpring ResourceBundleMessageSourceを使用しています。ビューフォームではfmt:message
、フォームフィールドのラベルに使用しています。バリデーターでフィールド値が正しくない場合、それぞれのフォーム フィールド ラベルとエラー メッセージでフィールドを拒否する必要があります。例えば<fmt:message key"abc" /> <form:input name="xyz">
エラー メッセージは次のようになります:「abc の値が正しくありません」。
バリデーターで私は言わなければならない -
`errors.rejectValue("xyz", "error.message", new Object[] {getMessage("message.abc")})`
春の設定:
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="MySource" />
</bean>
リソースファイルからメッセージを読み取るために使用していますgetMessage
。MessageSourceAccesor
私のリソース ファイル名はMySource.properties
です。私のリソース フォルダには他の言語固有のファイルはありません。また、jsp ビューでこのファイルからラベルを読み取ることはできますが、NoSuchMessage
アクセスしようとすると例外が発生します (ロケール en の abc の場合)。バリデータから。
簡単な質問は、言語リソース ファイルが提供されていない場合に、Spring リソースにデフォルトのプロパティ ファイル (接尾辞のないファイル名) を使用してメッセージを検索するように指示する方法です。
任意のポインターは、先に進むのに役立ちます。