JSF2 ResourceBundleLoaderオーバーライド?
-
02-10-2019 - |
質問
リソースバンドルからロードされたときに、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>
そこにあります:)
所属していません StackOverflow