JavaServer_Faces_Wydanie_II_javfac.pdf

(926 KB) Pobierz
JavaServer Faces.
Wydanie II
Autor: David Geary, Cay S. Horstmann
TĀumaczenie: MikoĀaj Szczepaniak
ISBN: 978-83-246-1354-0
Format: 172x245, stron: 648
Poznaj nowoczesne technologie, aby perfekcyjnie tworzyě sprawne oprogramowanie!
¤ Jak tworzyě aplikacje JSF w ľrodowisku Eclipse?
¤ Jak korzystaě z frameworku Boss Seam?
¤ Jak implementowaě niestandardowe komponenty, konwertery
i mechanizmy weryfikujĴce?
JavaServer Faces (JSF) jest obecnie najpopularniejszĴ technologiĴ, ktra pozwala
na projektowanie interfejsu uŃytkownika poprzez umieszczenie na formularzu
komponentw i powiĴzanie ich z obiektami Javy bez koniecznoľci mieszania kodu
łrdĀowego ze znacznikami. MocnĴ stronĴ JSF jest rozszerzalny model komponentowy,
a takŃe moŃliwoľě wspĀpracy z ľrodowiskami do budowy graficznych interfejsw
uŃytkownika metodĴ przeciĴgnij-i-upuľě. To nowoczesne narzķdzie oferuje takŃe
mechanizmy rozwiĴzujĴce najtrudniejsze problemy w zakresie nawigacji, zarzĴdzania
poĀĴczeniami z usĀugami zewnķtrznymi i konfiguracjami oraz izolowania prezentacji
od logiki biznesowej.
KsiĴŃka âJavaServer Faces. Wydanie IIÒ prezentuje gruntownie zaktualizowanĴ wiedzķ
dotyczĴcĴ JSF oraz wyczerpujĴce omwienia najnowszych udoskonaleĺ mechanizmw
wiĴŃĴcych tķ technologiķ z platformĴ Java EE 5, a takŃe analizķ rozszerzeĺ interfejsw
API. Zawiera praktyczne porady i wskazwki, dziķki ktrym szybko nauczysz siķ
technik sterowania przechodzeniem pomiķdzy stronami z wykorzystaniem frameworku
Shale; poznasz sposoby zastķpowania znacznikw JSP znacznikami XHTML za pomocĴ
technologii Facelets; do perfekcji opanujesz sztukķ rozbudowy tej technologii o wĀasne
biblioteki. âCore JavaServer FacesÒ to doskonaĀy, usystematyzowany zbir najlepszych
praktyk budowy oprogramowania, minimalizowania trwale kodowanych elementw
i maksymalizacji produktywnoľci.
¤ Komponenty zarzĴdzane
¤ Zaawansowane techniki nawigacji
¤ Znaczniki i formularze
¤ Konwersja i weryfikacja poprawnoľci danych
¤ Implementacja klas niestandardowych mechanizmw weryfikacji
¤ Powidoki i pakiet Apache Tiles
¤ Niestandardowe komponenty, konwertery i mechanizmy weryfikujĴce
¤ Eliminowanie wyciekw poĀĴczeĺ
¤ Uzyskiwanie dostķpu do informacji skĀadowych w katalogach LDAP
¤ Implementacja mechanizmu weryfikacji w czasie rzeczywistym
z wykorzystaniem frameworku Ajax4jsf
Zastosuj nowoczesne technologie JSP, aby w prosty sposb budowaě zaawansowane
i sprawne aplikacje
Wydawnictwo Helion
ul. Koľciuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
1098252886.050.png 1098252886.052.png 1098252886.053.png 1098252886.054.png 1098252886.001.png 1098252886.002.png 1098252886.003.png 1098252886.004.png 1098252886.005.png 1098252886.006.png 1098252886.007.png 1098252886.008.png 1098252886.009.png 1098252886.010.png 1098252886.011.png 1098252886.012.png 1098252886.013.png 1098252886.014.png 1098252886.015.png 1098252886.016.png 1098252886.017.png 1098252886.018.png 1098252886.019.png 1098252886.020.png 1098252886.021.png 1098252886.022.png 1098252886.023.png 1098252886.024.png 1098252886.025.png 1098252886.026.png 1098252886.027.png 1098252886.028.png 1098252886.029.png 1098252886.030.png 1098252886.031.png 1098252886.032.png 1098252886.033.png 1098252886.034.png 1098252886.035.png 1098252886.036.png 1098252886.037.png 1098252886.038.png 1098252886.039.png 1098252886.040.png 1098252886.041.png 1098252886.042.png 1098252886.043.png 1098252886.044.png 1098252886.045.png 1098252886.046.png 1098252886.047.png 1098252886.048.png 1098252886.049.png
 
Spis treści
Przedmowa ...............................................................................................................................................11
Rozdział 1. Wprowadzenie ....................................................................................................................... 15
Dlaczego wybieramy technologię JavaServer Faces? ........................................................ 15
Instalacja oprogramowania ........................................................................................... 16
Prosty przykład ............................................................................................................. 18
Elementy składowe ................................................................................................. 20
Struktura katalogów ................................................................................................ 21
Kompilacja przykładowej aplikacji ............................................................................. 22
Analiza przykładowej aplikacji ........................................................................................ 23
Komponenty ........................................................................................................... 23
Strony technologii JSF ............................................................................................. 24
Nawigacja ............................................................................................................... 27
Konfiguracja serwletu .............................................................................................. 29
Strona powitalna ..................................................................................................... 30
Środowiska wytwarzania dla JSF .................................................................................... 31
Zintegrowane środowiska programowania ................................................................. 31
Narzędzia projektowania wizualnego ......................................................................... 32
Automatyzacja procesu kompilacji za pomocą narzędzia Ant ....................................... 34
Usługi frameworka JSF .................................................................................................. 37
Mechanizmy wewnętrzne ............................................................................................... 39
Wizualizacja stron ................................................................................................... 40
Dekodowanie żądań ................................................................................................ 41
Cykl życia aplikacji JSF ............................................................................................ 42
Rozdział 2. Komponenty zarządzane ...................................................................................................... 45
Definicja komponentu ................................................................................................... 45
Właściwości komponentu ........................................................................................ 47
Wyrażenia reprezentujące wartości ........................................................................... 49
Pakiety komunikatów .................................................................................................... 50
Komunikaty obejmujące zmienne .............................................................................. 51
Konfigurowanie ustawień regionalnych aplikacji ......................................................... 52
Przykładowa aplikacja ................................................................................................... 54
1098252886.051.png
4
JavaServer Faces
Komponenty wspierające .............................................................................................. 60
Zasięg komponentów .................................................................................................... 61
Komponenty obejmujące zasięgiem sesję ................................................................. 61
Komponenty obejmujące zasięgiem aplikację ............................................................ 62
Komponenty obejmujące zasięgiem żądanie .............................................................. 62
Adnotacje cyklu życia ............................................................................................... 63
Konfigurowanie komponentów ....................................................................................... 64
Ustawianie wartości właściwości .............................................................................. 65
Inicjalizacja list i map .............................................................................................. 65
Wiązanie definicji komponentów ............................................................................... 66
Konwersje łańcuchów .............................................................................................. 68
Składnia wyrażeń reprezentujących wartości ................................................................... 69
Stosowanie nawiasów kwadratowych ........................................................................ 71
Wyrażenia odwołujące się do map i list ..................................................................... 71
Rozwiązywanie wyrazu początkowego ........................................................................ 72
Wyrażenia złożone ................................................................................................... 74
Wyrażenia odwołujące się do metod ......................................................................... 75
Rozdział 3. Nawigacja ............................................................................................................................. 77
Nawigacja statyczna ..................................................................................................... 77
Nawigacja dynamiczna .................................................................................................. 79
Zaawansowane techniki nawigacji .................................................................................. 88
Przekierowanie ....................................................................................................... 89
Symbole wieloznaczne ............................................................................................. 90
Stosowanie elementu from-action ............................................................................. 91
Algorytm nawigacji ................................................................................................... 92
Rozdział 4. Znaczniki standardowe JSF ................................................................................................ 95
Przegląd podstawowych znaczników JSF ......................................................................... 96
Przegląd znaczników JSF reprezentujących znaczniki HTML (JSF HTML) ............................. 98
Atrybuty wspólne ................................................................................................... 100
Formularze ................................................................................................................. 106
Elementy formularzy i skrypty języka JavaScript ....................................................... 108
Jedno- i wielowierszowe pola tekstowe ......................................................................... 111
Pola ukryte ........................................................................................................... 114
Stosowanie jedno- i wielowierszowych pól tekstowych .............................................. 114
Wyświetlanie tekstu i obrazów ................................................................................ 118
Przyciski i łącza .......................................................................................................... 120
Stosowanie przycisków poleceń ............................................................................. 121
Stosowanie łączy poleceń ...................................................................................... 126
Znaczniki selekcji ....................................................................................................... 130
Pola wyboru i przyciski opcji ................................................................................... 133
Menu i listy .......................................................................................................... 135
Elementy .............................................................................................................. 138
Komunikaty ............................................................................................................... 154
Panele ....................................................................................................................... 159
Rozdział 5. Tabele danych ......................................................................................................................165
Znacznik tabeli danych — h:dataTable ......................................................................... 165
Prosta tabela ............................................................................................................. 166
Atrybuty znacznika h:dataTable .............................................................................. 169
Atrybuty znacznika h:column .................................................................................. 170
Spis treści
5
Nagłówki, stopki i podpisy ........................................................................................... 171
Komponenty JSF ........................................................................................................ 174
Edycja komórek tabeli ................................................................................................. 177
Style ......................................................................................................................... 180
Style stosowane dla kolumn .................................................................................. 181
Style stosowane dla wierszy .................................................................................. 182
Tabele bazy danych .................................................................................................... 183
Obiekty wyników biblioteki JSTL kontra zbiory wynikowe ............................................ 187
Modele tabel ............................................................................................................. 187
Edycja modeli tabel ............................................................................................... 188
Sortowanie i filtrowanie ......................................................................................... 192
Techniki przewijania ................................................................................................... 201
Przewijanie z użyciem paska przewijania ................................................................. 201
Przewijanie za pomocą dodatkowych łączy ............................................................... 202
Rozdział 6. Konwersja i weryfikacja poprawności danych ............................................................... 205
Przegląd procesu konwersji i weryfikacji poprawności .................................................... 205
Stosowanie konwerterów standardowych ...................................................................... 207
Konwersja liczb i dat ............................................................................................. 207
Błędy konwersji ..................................................................................................... 211
Kompletny przykład konwertera .............................................................................. 216
Stosowanie standardowych mechanizmów weryfikujących .............................................. 218
Weryfikacja długości łańcuchów i przedziałów liczbowych .......................................... 219
Weryfikacja wartości wymaganych .......................................................................... 220
Wyświetlanie komunikatów o błędach weryfikacji ..................................................... 221
Pomijanie procesu weryfikacji ................................................................................. 221
Kompletny przykład mechanizmu weryfikacji ............................................................ 223
Programowanie z wykorzystaniem niestandardowych konwerterów
i mechanizmów weryfikujących .................................................................................. 224
Implementacja klas konwerterów niestandardowych ................................................. 225
Implementacja klas niestandardowych mechanizmów weryfikacji .............................. 237
Rejestrowanie własnych mechanizmów weryfikacji ................................................... 240
Weryfikacja danych wejściowych za pomocą metod komponentów JavaBeans ............ 242
Przekazywanie konwerterom atrybutów .................................................................... 242
Relacje weryfikacji łączące wiele komponentów ....................................................... 243
Rozdział 7. Obsługa zdarzeń ................................................................................................................. 249
Zdarzenia cyklu życia .................................................................................................. 250
Zdarzenia zmiany wartości .......................................................................................... 251
Zdarzenia akcji ........................................................................................................... 256
Znaczniki metod nasłuchujących zdarzeń ...................................................................... 263
Znaczniki f:actionListener i f:valueChangeListener ................................................... 264
Komponenty bezpośrednie .......................................................................................... 265
Stosowanie bezpośrednich komponentów wejściowych ............................................ 266
Stosowanie bezpośrednich komponentów poleceń ................................................... 268
Przekazywanie danych z interfejsu użytkownika na serwer .............................................. 269
Znacznik f:param .................................................................................................. 270
Znacznik f:attribute ............................................................................................... 271
Znacznik f:setPropertyActionListener ...................................................................... 272
Zdarzenia fazy ............................................................................................................ 273
Podsumowanie całego materiału w jednym miejscu ....................................................... 281
6
JavaServer Faces
Rozdział 8. Podwidoki i pakiet Apache Tiles ..........................................................................................291
Typowe rozmieszczenia ............................................................................................... 291
Przeglądarka książek i biblioteka ................................................................................. 292
Przeglądarka książek .................................................................................................. 294
Monolityczne strony JSF ........................................................................................ 295
Dołączanie wspólnej treści ..................................................................................... 300
Dołączanie treści w aplikacjach zbudowanych na bazie technologii JSP ...................... 300
Dołączanie treści w kontekście aplikacji JSF ............................................................ 301
Dołączanie treści w ramach aplikacji przeglądarki książek ............................................. 302
Prezentacja pakietu Apache Tiles ........................................................................... 305
Instalacja pakietu Tiles .......................................................................................... 305
Stosowanie pakietu Tiles w ramach aplikacji przeglądarki książek ............................. 306
Parametryzacja kafelków ....................................................................................... 308
Rozszerzanie kafelków ........................................................................................... 309
Biblioteka .................................................................................................................. 312
Kafelki zagnieżdżone ............................................................................................. 313
Kontroler kafelków ................................................................................................ 313
Rozdział 9. Niestandardowe komponenty, konwertery i mechanizmy weryfikujące ...................... 323
Klasy implementujące komponenty niestandardowe ...................................................... 325
Znaczniki i komponenty JavaBeans ......................................................................... 327
Zestaw narzędzi twórcy komponentów niestandardowych ......................................... 328
Kodowanie: generowanie znaczników ........................................................................... 330
Dekodowanie: przetwarzanie wartości żądania .............................................................. 334
Stosowanie konwerterów ....................................................................................... 337
Implementacja znaczników komponentów niestandardowych .......................................... 339
Plik deskryptora TLD ............................................................................................. 340
Klasa obsługująca znacznik ................................................................................... 343
Aplikacja zbudowana z wykorzystaniem kontrolki datownika ...................................... 346
Definiowanie klas obsługujących znaczniki w technologii JSF 1.1 .............................. 349
Doskonalenie komponentu datownika .......................................................................... 354
Stosowanie zewnętrznych mechanizmów wizualizacji ................................................ 354
Wywoływanie konwerterów z poziomu zewnętrznych mechanizmów wizualizacji ........... 359
Obsługa metod nasłuchujących zmian wartości ....................................................... 360
Obsługa wyrażeń wskazujących na metody .............................................................. 361
Przykładowa aplikacja ............................................................................................ 363
Użycie skryptu JavaScript do ograniczenia komunikacji z serwerem ................................ 369
Stosowanie komponentów i facet potomnych ............................................................... 372
Przetwarzanie znaczników potomnych typu SelectItem .............................................. 375
Przetwarzanie facet ............................................................................................... 376
Kodowanie stylów CSS .......................................................................................... 377
Stosowanie pól ukrytych ........................................................................................ 378
Zapisywanie i przywracanie stanu ........................................................................... 379
Generowanie zdarzeń akcji ..................................................................................... 382
Stosowanie komponentu panelu podzielonego na zakładki ....................................... 387
Implementacja niestandardowych konwerterów i mechanizmów weryfikacji ...................... 393
Znaczniki konwerterów niestandardowych ............................................................... 393
Znaczniki niestandardowych mechanizmów weryfikacji ............................................. 401
Zgłoś jeśli naruszono regulamin