質問

リソースバンドルからロードされたときに、EL式を含むリソースメッセージを解決する必要があります。基本的に、テキストを含む多くのプロパティファイルがあります。テキストの一部は次のようになります。

歓迎=歓迎#{userbean.name}

私が現在働いているのを見ることができる唯一の可能な方法は、次のように言う代わりにカスタムタグリブを実装することです。

<f:loadBundle var="messages" basename="application.messages"/>

私は使わなければなりません

<mytaglib:loadBundle var="messages" basename="application.messages"/>
#{messages.welcomeText}

ユーザー名「user1」を持つユーザーが与えられた場合、これは出力する必要があります

Welcome User1

私の実装は、HandleGetObjectをオーバーライドするカスタムリソースバンドルクラスを使用し、Elresolverを使用して変数などを解決します。提案?すでに利用可能な実装?

私はあなたの助けに感謝します。

役に立ちましたか?

解決

むしろ利用してください <h:outputFormat><f:param> パラメーター化されたテキストを表示します。それはに裏付けられています MessageFormat API, 、APIのJavadocで説明されているのと同じルールが適用されます。

例えば

welcomeText=Welcome {0}

<h:outputFormat value="#{messages.welcomeText}">
    <f:param value="#{userbean.name}" />
</h:outputFormat>

そこにあります:)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top