Domanda

Ho bisogno di avere i messaggi di risorse che contengono espressioni EL risolta quando caricato da un ResourceBundle. Fondamentalmente ho un certo numero di file di proprietà che contengono il testo. Una parte del testo sarà simile al seguente:

welcomeText = Benvenuto # {userbean.name}

L'eventuale unico modo che posso vedere questo lavoro attualmente sta attuando un taglib personalizzato in modo che invece di dire:

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

avrei dovuto usare

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

Dato un utente con il nome utente "Utente1", questa uscita dovrebbe

Welcome User1

La mia applicazione sarebbe poi utilizzare una classe ResourceBundle personalizzata che sarebbe ignorare handleGetObject, utilizzare l'ELResolver alle variabili resolve ecc .... idee? suggestings? Implementazioni che sono già disponibili?

Apprezzo il vostro aiuto.

È stato utile?

Soluzione

Piuttosto Sfruttate <h:outputFormat> e <f:param> per visualizzare il testo con parametri. E 'sostenuta dal MessageFormat API , il saranno applicate stesse regole descritte nel javadoc della API.

per es.

welcomeText=Welcome {0}

con

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

Non è per:)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top