0

Bean 検証メッセージ用にカスタマイズされた messages.properties ファイルを作成しようとしています。Messages.propertiesファイルをリソース パッケージに追加し<application><message-bundle>resources.Messages</message-bundle></application>faces-config.xmlファイルに追加しました。

@Id主キー フィールドと注釈 (javax.persistence.Id)を持つエンティティを検証しています。

メッセージをオーバーライドするとjavax.faces.converter.BigDecimalConverter.DECIMAL、うまく機能しますが、この入力が空の場合の問題は、例外メッセージが表示されます: Can't find bundle for base name resources.Messages, locale en_US.

この種の検証に関するメッセージもあります。これはjavax.faces.component.UIInput.REQUIREDプロパティ ファイルにあります (したがって、正しいメッセージ テキストが欠落しているわけではありません)。

そのため、faces-config.xmlファイルに locale config:を追加してみました。<locale-config> <default-locale>en_US</default-locale></locale-config>また、 Messages_en_US.properties という名前の別のプロパティ ファイルをリソース パッケージに追加しましたが、それでも例外が発生します。

何が問題なのですか?私は何かが欠けていますか?これはどのように解決できますか?この問題は @Id アノテーションが原因ですか? 私はそれを渡すことができますか?カスタム メッセージを表示できるようにしたい。考えられる限りのことを試しましたが、うまくいきませんでした。助けてください!!

前もって感謝します。

4

1 に答える 1

-1

これらのプロパティ ファイルをソース フォルダー内に WEB-INF リソース フォルダーと同じ構造で配置するだけで、Java クラスは Java リソース フォルダーから参照を取得します。

これを試してみてください。私も同じ問題に直面しました。うまくいきます。

于 2012-10-06T04:50:18.973 に答える