2

現在、resourceBundle 変数を使用して、次のように JSF コードでテキスト値を取得しています。

<h:outputText value="#{resourceBundle.welcomeMessage}" />

メッセージキーを変数に入れて、リソースバンドルに動的パラメータとして与える方法はありますか? 私はこのようなことができることを望んでいました:

<c:set var="name" value="#{'welcomeMessage'}" />
<h:outputText value="#{resourceBundle.get(name)}" />
4

3 に答える 3

1

リソース バンドルは動的パラメーターを取ります。これが私のプロジェクトのスニペットです:

    <f:loadBundle basename="#{siteName}" var="bundle"/>
        ....
               <h:dataTable value="#{summary.restrictionList}" var="restrictionList" cellspacing="0" cellpadding="0"> 
               ....

                            <h:outputFormat value="#{bundle['summary.label.blockcodemsg']}">
                                <f:param value="#{restrictionList['lastFourDigits']}"/>
                                <f:param value="#{bundle[restrictionList['optionDesc']]}"/>
                                <f:param value="#{bundle[restrictionList['optionResolutionDesc']]}"/>
                            </h:outputFormat>
     ....
于 2011-02-24T15:25:31.990 に答える
1

h:outputFormatを使用します。例を参照してください: http://www.javabeat.net/tips/47-how-to-use-resource-bundle-in-jsf.html

于 2011-02-24T13:36:34.337 に答える
1

resolveKey(String key)resourceBundle ルックアップを呼び出し、その Bean を表示して使用するメソッドを使用して、専用の ManagedBean を作成するだけです。

于 2011-02-24T12:33:18.393 に答える