jEE work

11/19/2009

JSF schimbare locale

Filed under: Uncategorized — Edi @ 9:11 pm

Un mic exemplu in care voi prezenta cum sa schimbi locale-ul la o aplicatie JSF. Mai exact Locale inseamna asta, sau pe wikipedia. Am cautat mult pe net pana sa dau de un exemplu functional (sunt multe exemplu care mie nu mi-au mers). exemplul asta e simplu. Mai intai terbuie declarat in faces-config.xml faptul ca vrei sa folosesti locale, apoi folosesti variabila care retine mesajele particularizate in paginile jsp, care este vazut ca un bean, desi e resursa. Pentru a schimba textul in mod dinamic am facut o clasa, care are nite metode cu ajutorul carora schimb variabila locale din aplicatie.

Si acum sursele…

Am un pachet locale si o clasa si niste fisiere de proprietati care contin mesajele:

Am oferit suport doar pt engleza si romana, dar se poat adauga foarte usor cate traduceri vreti.

 

In faces-config.xml am definit locale asa:

<application> <!-- in aplicatie declar configuratia pt locale--> <locale-config> <default-locale>ro</default-locale> <supported-locale>ro</supported-locale> <supported-locale>en</supported-locale> </locale-config> <resource-bundle> <!-- setez numele de baza pt fisiere de proprietati a se observa ca denumirea se opreste la Message _ro si _en vor fi adaugate de catre aplicatie--> <base-name>locale.Messages</base-name> <!-- variabila la care se va face referire pt mesaj--> <var>msg</var> </resource-bundle> </application> <!-- declararea manage-beanului pentru actiunile de schimbare a locale-ului --> <managed-bean> <managed-bean-name>locale</managed-bean-name> <managed-bean-class>locale.Local</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> </managed-bean>

 

 

 

 

 

 

 

 

import java.util.Locale;

public class Local {
private Locale locale;

public Locale getLocale(){
return locale;
}

public String setLocaleRO(){
locale = new Locale(“ro”);
return “”;
}

public String setLocaleEN(){
locale = Locale.ENGLISH;
return “”;
}
}

Si acum partea din jsp care apeleaza metodele din manage-bean pt a schimba valorile:

<h:form>

<h:commandButton value=”ro” action=”#{locale.setLocaleRO}” /> &nbsp;&nbsp;

<h:commandButton value=”en” action=”#{locale.setLocaleEN}” />

</h:form>

In paginile jsp trebuie sa adaugati in atributul locale in tagul view, cam asa:

<f:view locale=”#{locale.locale}”>

<!– toate tagurile jsf –>

</f:view>

Si cam asta e tot.

Spor la treaba in continuare.

Lasă un comentariu »

Niciun comentariu până acum.

Feed RSS pentru acest post. Urmăreşte URI

Lasă un răspuns

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Schimbă )

Twitter picture

You are commenting using your Twitter account. Log Out / Schimbă )

Facebook photo

You are commenting using your Facebook account. Log Out / Schimbă )

Connecting to %s

Theme: Rubric. Bloguieşte pe WordPress.com.

Follow

Get every new post delivered to your Inbox.