Question

Je dois avoir des messages de ressources qui contiennent des expressions EL résoudre lors du chargement d'un ResourceBundle. Fondamentalement, j'ai un certain nombre de fichiers de propriétés contenant le texte. Une partie du texte ressemblera ce qui suit:

welcomeText = Bienvenue # {} userbean.name

La seule façon possible, je peux voir ce travail est actuellement mise en œuvre d'un taglib personnalisé de sorte qu'au lieu de dire:

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

Je dois utiliser

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

Étant donné un utilisateur avec le nom d'utilisateur "User1", cette sortie devrait

Welcome User1

Ma mise en œuvre serait alors utiliser une classe ResourceBundle personnalisée qui aurait préséance sur handleGetObject, utilisez le ELResolver pour résoudre les variables etc .... Des idées? suggestings? Implémentations qui sont déjà disponibles?

Je vous remercie de votre aide.

Était-ce utile?

La solution

Au lieu de faire usage de <h:outputFormat> et <f:param> pour afficher du texte paramétrés. Il est soutenu par le MessageFormat API , la mêmes règles que celles décrites dans le Javadoc de l'API seront appliquées.

par exemple.

welcomeText=Welcome {0}

avec

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

Il est pour:)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top