martedì 4 giugno 2013

Internazionalizzazione JSF 2.0

Utilizzando JSF 2.0 (io sto usando come implementazione Mojarra) per l'internazionalizzazione bastano 2 passaggi:
  1. Creare i propri file di properties e posizionarli dove si vuole nel proprio workspace;
  2. Referenziare tale file di properties all'interno del faces-config, associando all'identificazione un nome;
  3. Referenziare all'interno dell'xhtml il nome definito al punto 2 in corrispondenza del punto in cui si vuole inserire il messaggio.
Esempio: supponiamo di aver inserito un semplice file di properties denominato message.properties all'interno del package resources del progetto.

FACES-CONFIG

 <application>
<locale-config>
<default-locale>it</default-locale>
<supported-locale>en</supported-locale>
</locale-config>
<resource-bundle>
<base-name>resources.messages</base-name>
<var>msg</var>
</resource-bundle>
</application>


Si noti che bisogna indicare nel base name il percorso del file comprensivo del package e il nome file generico.
Se all'interno del package resources inserissi anche un file denominato message_it.properties poichè it è il default locale avrei precedenza rispetto al generico message.properties.

XHTML

All'interno dell'xhtml la referenziazione alla variabile msg consente in maniera trasparente l'accesso alla proprietà, in questo modo (qui lo usiamo all'interno del p:commandButton di prime faces:


 <p:commandButton update="nomeIdColl cognomeIdColl cfIdColl" 
action="#{soggetto.valorizzaDatiIdentificazione}" icon="ui-icon-check" 
value="#{msg['miachiave']}" ></p:commandButton>


Nessun commento:

Posta un commento