AWWW-1st3.6-w11.tresc-1.0-Slajd30

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Internacjonalizacja aplikacji JSF

Internacjonalizacja aplikacji JSF


Internacjonalizacja aplikacji JSF jest realizowana poprzez (1) umieszczenie wszystkich komunikatów w zbiorze zasobów (ang. resource bundle) i (2) przygotowanie wersji plików .properties dla wszystkich przewidzianych języków. Pliki .properties to pliki tekstowe zawierające pary klucz=wartość, wiążące klucz komunikatu z jego treścią. Pliki mają kodowanie ASCII, więc polskie znaki muszą być zapisane w postaci kodów Unicode (\uXXXX).

Do ładowania plików .properties na stronach JSF służy znacznik <f:loadBundle> (3), wskazujący nazwę zbioru zasobów (bez kodu języka i rozszerzenia) i wiążący z nim nazwę zmiennej, która będzie reprezentować na stronie zbiór komunikatów.

Odpowiednia wersja językowa komunikatów będzie wybrana na podstawie obowiązujących ustawień lokalizacji. Lokalizację można jawnie ustawić dla strony znacznikiem <f:view> z atrybutem LOCALE. Jako wartość tego atrybutu można podać, tak jak w przykładzie na slajdzie, wyrażenie odczytujące ustawienia lokalizacji zawarte w żądaniu HTTP (4).

Do wyświetlania komunikatów ze zbiorów zasobów na stronie można wykorzystać znacznik <h:outputText> (5).

Oprócz internacjonalizacji komunikatów aplikacji, możliwa jest też podmiana i internacjonalizacja komunikatów ze standardowych walidatorów, które posiadają predefiniowane klucze. Muszą one być zdefiniowane w wyróżnionym zbiorze zasobów zarejestrowanym w pliku faces-config.xml.


<< Poprzedni slajd | Spis treści | Następny slajd >>