10

JSF2.0とRichFaces4を使用してMVCベースのWebサイトを作成しました。すべての入力テキストの検証は、Bean検証アノテーションを使用して行われます。BeanValidationの実装としてHibernateValidatorを使用しています。

ローカライズされたメッセージを表示するにはどうすればよいですか?

使用する場合

@NotNull(message="<h:outputText value=\"#{msg['Mymessage']}\" />")

その後、文字通り<h:outputText value="#{msg['Mymessage']}" />メッセージとして表示されます。

ここに画像の説明を入力してください

これはどのように発生し、どうすれば解決できますか?

4

2 に答える 2

32

You should and can not put JSF tags in the message. Also, JSF's own resource bundle won't be used to resolve localized validation messages. JSR303 bean validation is a completely separate API unrelated to JSF.

To internationalize JSR303 bean validation messages, you need to create a separate ValidationMessages.properties file in the classpath root which can be localized by ValidationMessages_xx_XX.properties files.

E.g.

ERVNomView=Your message here

Which is then to be specified with {key} syntax.

@NotEmpty(message="{ERVNomView}")

See also:

于 2012-06-06T14:06:44.947 に答える
1

私と同じ問題を抱えている人(@BalusCによって提供された解決策は、多くの言語の多くの異なるプロパティファイルで機能していませんでした)の場合、行うべきことは、すべてのプロパティファイルに次のパターンで名前を付けることです:ValidationMessages_xx。プロパティ

理由はわかりませんが、パターン...xx_XX...が機能していませんでした。

于 2015-04-24T17:04:36.363 に答える