Możemy to osiągnąć na dwa sposoby: umieszczając komunikat w kolejce instancji FacesContext (patrz podrozdział „Lokalizacja” w rozdziale 19.) lub rejestrując komunikat w pliku konfiguracyjnym zasobów aplikacji.
Poniżej przedstawiamy fragment pliku rejestrującego komunikaty dla aplikacji Księ-
garnia Duke’a:
resource.ApplicationMessages
Powyższy zbiór elementów spowoduje umieszczenie w instancji Application komunikatów znajdujących się w podanym zestawie ResourceBundle o nazwie resources.ApplicationMessages.
Element message-bundle reprezentuje zbiór zlokalizowanych komunikatów i musi zawierać pełną ścieżkę dostępu do zestawu ResourceBundle zawierającego zlokalizowane komunikaty, resource.ApplicationMessages w tym przypadku.
Element locale-config zawiera listę obsługiwanych lokalizacji, w tym lokalizacji do-myślnej. Element ten umożliwia systemowi ustalenie właściwej lokalizacji na podstawie konfiguracji języka dla przeglądarki. Aplikacja Księgarnia Duke’a umożliwia ręczny wybór lokalizacji i w związku z tym zastosowanie elementu locale-config nie jest w jej przypadku konieczne.
Rozdział 21. Konfigurowanie aplikacji JavaServer Faces 715
Elementy supported-locale i default-locale akceptują dwuliterowe kody zdefiniowane przez standard ISO-639 (patrz http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt).
Warto zawsze sprawdzać, czy rzeczywiście umieściliśmy w zestawie ResourceBundle komunikaty dla lokalizacji, które określiliśmy za pomocą tych elementów.
Dostęp do zlokalizowanego komunikatu umieszczonego w zestawie zasobów wymaga od programisty aplikacji użycia odpowiedniego klucza (patrz podrozdział „Lokalizacja”
w rozdziale 19.).
Rejestracja niestandardowego walidatora
Jeśli programista aplikacji dostarcza własnej implementacji interfejsu Validator, to musi zarejestrować niestandardowy walidator w pliku konfiguracyjnym zasobów aplikacji za pomocą elementu validator:
...
...
Elementy podrzędne validator-id i validator-class są obowiązkowe. Element validator-id reprezentuje identyfikator, pod którym zostanie zarejestrowana klasa walidatora.
Identyfikator ten jest używany przez klasę znacznika odpowiadającą niestandardowemu znacznikowi validator.
Element validator-class reprezentuje pełną nazwę klasy implementującej interfejs Validator.
Element attribute identyfikuje atrybut związany z implementacją interfejsu Validator.
Posiada obowiązkowe elementy podrzędne attribute-name i attribute-class. Element attribute-name odnosi się do nazwy atrybutu określonej przez znacznik validator, na-tomiast attribute-class identyfikuje typ wartości związanej z atrybutem.
Sposób implementacji interfejsu Validator został omówiony w podrozdziale „Implementacja niestandardowego walidatora” (rozdział 19.).
Sposób odwołań do walidatora na stronach aplikacji wyjaśniliśmy w punkcie „Stosowanie niestandardowego walidatora” (rozdział 18.).
716
J2EE. Vademecum profesjonalisty
Rejestracja niestandardowego konwertera
Podobnie jak w przypadku niestandardowego walidatora również niestandardowy konwerter wymaga rejestracji. Poniżej przedstawiamy konfigurację elementu converter dla konwertera CreditCardConverter używanego przez aplikację Księgarnia Duke’a:
Rejestruje implementację konwertera,
converters.CreditCardConverter używając
identyfikatora creditcard.
converters.CreditCardConverter
Element converter reprezentuje implementację interfejsu Converter i zawiera obowiązkowe elementy podrzędne converter-id i converter-class.
Element converter-id określa identyfikator używany przez atrybut converter znacznika komponentu interfejsu użytkownika w celu zastosowania konwertera do przekształcenia danych komponentu. Przykład odwołania do niestandardowego konwertera przez znacznik komponentu zamieściliśmy w punkcie „Stosowanie niestandardowego konwertera”
w rozdziale 18.
Element converter-class identyfikuje klasę implementującą interfejs Converter.
Sposób implementacji niestandardowego konwertera omówiliśmy w podrozdziale „Implementacja niestandardowego konwertera” w rozdziale 19.
Konfigurowanie reguł nawigacji
W podrozdziale „Model nawigacji” zamieszczonym w rozdziale 17. wyjaśniliśmy, że konfigurowanie nawigacji polega na utworzeniu zbioru reguł umożliwiających wybór kolejnej strony na skutek kliknięcia przycisku lub łącza. Reguły nawigacji definiuje się w pliku konfiguracyjnym zasobów aplikacji.
Każda reguła nawigacji określa sposób przejścia od określonej strony do zbioru innych stron. Implementacja JavaServer Faces wybiera odpowiednią regułę nawigacji dla ak-tualnie wyświetlanej strony.
Po wybraniu właściwej reguły nawigacji wybór kolejnej strony zależy od metody akcji wywołanej na skutek kliknięcia komponentu oraz wyniku logicznego zwróconego przez te metodę lub podanego przez znacznik komponentu.
Wynik logiczny może być dowolnie zdefiniowany przez programistę aplikacji. W tabeli 21.3
przedstawione zostały najczęściej używane wyniki.
Rozdział 21. Konfigurowanie aplikacji JavaServer Faces 717
Tabela 21.3. Typowe łańcuchy wyników logicznych
Wynik
Znaczenie
success
Wszystko przebiegło poprawnie. Przejdź do kolejnej strony.
failure
Wystąpił błąd. Przejdź do strony błędu.
logon
Użytkownik powinien się najpierw zalogować. Przejdź do strony logowania.
no results