6

コードの実行に適したカスタム ResourceBundle クラス org.example.web.UILabels.java がありますが、Eclipse の JSF エディターはそれを見つけられません。エディター/バリデーターは名前でプロパティ ファイルのみを探していると思います。これはまた、リソースで先行検索を取得できなくなったことを意味します。

これを修正する方法はありますか?

<f:loadBundle basename="org.example.web.UILabels" var="uiLabels"/>
...
<h:outputText value="#{uiLabels.someTextValue}" />
...

エラーメッセージが表示されます (問題のエラーリストにあります)

リソース バンドル org.example.web.UILabels がクラスパスに見つかりません

タイプ=JSF問題

Eclipse3.4.0 と WebStandardTools バージョン

  • バージョン:1.4.0.v200802280619-13-7w311917141518
  • バージョン:1.5.1.v200802280619-1407w311917141519
  • バージョン:3.0.0.v200806092130-7A-8Y8QqN2lf4VSWrI2ek5Pf4k7s

プロパティ ファイルだけでなく ResourceBundle クラスを使用している理由の詳細については、質問 653682 how-to-override-some-resources-from-a-propertyresourcebundle を参照してください。

お時間をいただきありがとうございます、デビッド・ウォーターズ

4

2 に答える 2

3

resource-bundle 要素は、アプリケーション全体に対して 1 回バンドルを作成できるため、f:loadBundle アクションよりも効率的です。ただし、これは JSF 1.2 の機能であり、JSF 1.1 と互換性を保ちたい場合は、JSF 1.1 を使用する必要があります。JSF 1.2 を使用する場合の例を次に示します。faces-config.xml で次のように定義します。

<application>
<resource-bundle>
<base-name>org.example.web.UILabels</basename>
<var>uiLabels</var>
</resource-bundle>
</application>

質問に答えられなくて申し訳ありませんが、私は Eclipse を直接使用した経験がありません。私も最初にあなたの質問を誤解したため、元の回答を編集しました。

于 2009-03-20T12:16:40.067 に答える