Frage

ich brauche Ressource Nachrichten zu haben, die Ausdrücke enthalten EL gelöst werden, wenn sie von einem Resource geladen. Im Prinzip habe ich eine Reihe von Eigenschaften von Dateien mit dem Text enthalten. Einige der Text wie folgt aussehen wird:

Welcome = Willkommen # {userbean.name}

Die einzige Möglichkeit, die ich sehen kann dies zur Zeit arbeitet eine benutzerdefinierte taglib, so dass die Umsetzung anstatt zu sagen:

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

Ich würde verwenden müssen

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

ein Benutzer mit dem Benutzernamen „User1“ Da sollte dies Ausgang

Welcome User1

Meine Implementierung würde dann eine benutzerdefinierte Resource Klasse verwenden, die handleGetObject außer Kraft setzen würde, etc die ELResolver zu lösen Variablen verwenden .... Ideen? suggestings? Implementierungen, die bereits verfügbar sind?

Vielen Dank für Ihre Unterstützung.

War es hilfreich?

Lösung

Rather nutzen <h:outputFormat> und <f:param> parametrisierte Text anzuzeigen. Es wird unterstützt durch die MessageFormat API , die gleichen Regeln wie in der API javadoc beschrieben angewendet werden.

z.

welcomeText=Welcome {0}

mit

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

Da ist es für:)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top