Details zum E-Book

JavaServer Faces 2.2. Mistrzowskie programowanie

JavaServer Faces 2.2. Mistrzowskie programowanie

Anghel Leonard

E-book
JavaServer Faces (JSF) 2.2 jest dziś najważniejszym frameworkiem służącym do budowy internetowych interfejsów użytkownika aplikacji sieciowych i stanowi podstawowy komponent platformy Java Enterprise Edition. W porównaniu z poprzednimi wydaniami JSF 2.2 został wzbogacony o wiele nowych funkcjonalności. Z pewnością przydadzą się one programistom i znacznie podniosą efektywność pracy nad aplikacjami.

Niniejsza książka jest skierowana do programistów korzystających z JSF. Przedstawiono w niej wszystkie istotne zagadnienia związane z tworzeniem aplikacji za pomocą JSF 2.2. Czytelnik z pewnością doceni zarówno przejrzyste instrukcje, pozwalające na pełne wykorzystanie możliwości JSF 2.2, jak i liczne ćwiczenia, które będą stanowić doskonałą pomoc w tworzeniu imponujących aplikacji internetowych.

W książce omówiono:
  • język wyrażeń (EL) z uwzględnieniem najważniejszych aspektów EL 2.2 oraz EL 3.0
  • zagadnienia związane z komunikacją w JSF oraz z zasięgami JSF 2.2
  • artefakty JSF i ich konfigurację
  • język HTML5, technologię AJAX oraz pojęcie stanu widoku JSF
  • tworzenie komponentów niestandardowych i komponentów złożonych
  • tematykę technologii Facelet

JavaServer Faces 2.2 — to framework dla mistrzów programowania w Javie!


Anghel Leonard jest niekwestionowanym autorytetem w dziedzinie programowania w Javie. Posiada kilkunastoletnie doświadczenie w pracy z Javą SE, Javą EE oraz z wieloma frameworkami Javy. Jest autorem kilkudziesięciu książek i artykułów poświęconych różnym technologiom Javy. Ostatnio tworzy świetne aplikacje internetowe na potrzeby systemów GIS.

O autorze (11)

O recenzentach (13)

Wstęp (15)

Rozdział 1. Dynamiczny dostęp do danych aplikacji JSF przy użyciu Expression Language (EL 3.0) (19)

  • Składnia EL (20)
    • Operatory EL (20)
    • Hierarchia operatorów EL (21)
    • Zastrzeżone słowa EL (21)
  • Przetwarzanie natychmiastowe oraz opóźnione (22)
  • Wyrażenia wartościowe EL (22)
    • Odwołania do komponentów zarządzanych (23)
    • Odwołania do właściwości komponentów zarządzanych (24)
    • Odwołania do zagnieżdżonych właściwości komponentów zarządzanych (25)
    • Odwołania do typów wyliczeniowych Java SE (27)
    • Odwołania do kolekcji (27)
    • Niejawne obiekty EL (29)
  • Wyrażenia odwołujące się do metod (31)
  • Teksty warunkowe w JSF (33)
  • Pisanie własnego mechanizmu przetwarzającego (37)
  • Przegląd EL 3.0 (45)
    • Stosowanie operatora przypisania (45)
    • Stosowanie operatora konkatenacji (45)
    • Stosowanie operatora średnika (46)
    • Poznawanie wyrażeń lambda (46)
    • Stosowanie obiektów kolekcji (47)
  • Podsumowanie (49)

Rozdział 2. Komunikacja w JSF (51)

  • Przekazywanie i pobieranie parametrów (52)
    • Stosowanie parametrów kontekstu (52)
    • Przekazywanie parametrów żądania przy użyciu znacznika (52)
    • Stosowanie parametrów widoku (55)
    • Wywoływanie akcji z wykorzystaniem żądań GET (62)
    • Przekazywanie atrybutów przy użyciu znacznika (66)
    • Ustawianie wartości właściwości przy użyciu obiektów nasłuchujących akcji (69)
    • Przekazywanie parametrów przy użyciu zasięgu Flash (71)
    • Zastępowanie znacznika znacznikiem JSTL (75)
    • Przesyłanie danych w ciasteczkach (76)
    • Stosowanie pól ukrytych (78)
    • Przesyłanie haseł (79)
    • Programowy dostęp do atrybutów komponentów interfejsu użytkownika (79)
    • Przekazywanie parametrów przy użyciu wyrażeń odwołujących się do metod (80)
    • Komunikacja przy użyciu atrybutu binding (81)
  • Komunikacja pomiędzy komponentami zarządzanymi (83)
    • Wstrzykiwanie jednego komponentu zarządzanego do drugiego (83)
    • Komunikacja pomiędzy komponentami zarządzanymi przy użyciu mapy aplikacji lub sesji (85)
    • Programowy dostęp do innych komponentów zarządzanych (86)
  • Podsumowanie (87)

Rozdział 3. Zasięgi JSF - długość życia i zastosowanie w komunikacji komponentów zarządzanych (89)

  • Zasięgi JSF a zasięgi CDI (90)
  • Zasięg żądania (92)
  • Zasięg sesji (95)
  • Zasięg widoku (98)
  • Zasięg aplikacji (100)
  • Zasięg konwersacji (102)
  • Zasięg przepływu (105)
    • Prosty przepływ (108)
    • Przepływy z komponentami (112)
    • Przepływy zagnieżdżone (114)
    • Programowe konfigurowanie przepływów (118)
    • Przepływy a przypadki nawigacji (120)
    • Badanie przypadków nawigacji w przepływach (123)
    • Stosowanie metod initializer i finalizer (124)
    • Przełączanie przepływu (126)
    • Pakowanie przepływów (129)
    • Programowy zasięg przepływu (130)
  • Zależny pseudozasięg (133)
  • Zasięg none (134)
  • Zasięg niestandardowy (134)
    • Implementacja klasy zasięgu niestandardowego (135)
    • Wyznaczanie wyrażeń EL zasięgów niestandardowych (136)
    • Kontrola czasu istnienia zasięgu przy użyciu obiektu nasłuchującego akcji (139)
    • Kontrola czasu istnienia zasięgu niestandardowego z użyciem obiektów NavigationHandler (141)
  • Tworzenie instancji komponentów zarządzanych (144)
  • Wstrzykiwanie komponentów (144)
  • Podsumowanie (147)

Rozdział 4. Konfigurowanie JSF przy użyciu plików XML i adnotacji - część 1. (149)

  • Nowe przestrzenie nazw JSF 2.2 (150)
  • Programowa konfiguracja w JSF 2.2 (151)
  • Konfigurowanie komponentów zarządzanych w XML-u (152)
  • Stosowanie wielu plików konfiguracyjnych (157)
  • Konfiguracja ustawień lokalnych i wiązek zasobów (159)
  • Konfiguracja walidatorów i konwerterów (161)
  • Konfigurowanie nawigacji (169)
    • Nawigacja niejawna (169)
    • Nawigacja warunkowa (172)
    • Nawigacja z wywłaszczeniem (175)
    • Nawigacja programowa (177)
  • Konfigurowanie obiektów nasłuchujących akcji (178)
    • Obiekty nasłuchujące akcji aplikacji (180)
  • Konfigurowanie metod nasłuchujących zdarzeń systemowych (183)
    • Stosowanie znacznika (183)
    • Implementacja interfejsu SystemEventListener (185)
  • Konfigurowanie metod nasłuchujących faz (191)
  • Stosowanie adnotacji @ListenerFor oraz @ListenersFor (195)
  • Podsumowanie (196)

Rozdział 5. Konfigurowanie JSF przy użyciu plików XML i adnotacji - część 2. (197)

  • Konfiguracja obiektów obsługi zasobów (198)
    • Programowe dodawanie zasobów CSS i JS (205)
  • Konfiguracja obiektu obsługi widoków (205)
  • Przesłanianie mechanizmów wizualizacji JSF (209)
  • Stosowanie operacji wykonywanych po stronie klienta (215)
  • Klasy wytwórcze JSF (219)
    • Konfiguracja globalnego obiektu obsługi wyjątków (220)
    • Konfiguracja klasy wytwórczej RenderKit (223)
    • Konfiguracja PartialViewContext (224)
    • Konfiguracja obiektu VisitContext (227)
    • Konfiguracja obiektów ExternalContext (230)
    • Konfiguracja Flash (233)
    • Window ID API w JSF 2.2 (235)
    • Konfigurowanie cyklu życia (241)
    • Konfigurowanie aplikacji (244)
    • Konfigurowanie VDL (246)
  • Połączone możliwości wielu klas wytwórczych (248)
  • Podsumowanie (249)

Rozdział 6. Korzystanie z danych tabelarycznych (251)

  • Tworzenie prostej tabeli JSF (252)
  • Klasa CollectionDataModel JSF 2.2 (254)
  • Sortowanie tabel (259)
    • Sortowanie i DataModel - klasa CollectionDataModel (265)
  • Usuwanie wiersza tabeli (267)
  • Edycja i aktualizacja wierszy tabeli (269)
  • Dodawanie nowych wierszy (272)
  • Wyświetlanie numerów wierszy (274)
  • Wybieranie pojedynczego wiersza (275)
  • Wybieranie wielu wierszy (277)
  • Zagnieżdżanie tabel (279)
  • Podział tabel na strony (280)
  • Generowanie tabel przy użyciu API JSF (286)
  • Filtrowanie tabel (291)
  • Określanie wyglądu tabel przy użyciu stylów (296)
    • Zmiana koloru tła wierszy z użyciem atrybutu rowClasses (296)
    • Podświetlanie wiersza wskazanego myszą (297)
    • Podświetlanie wierszy po kliknięciu myszą (298)
  • Podsumowanie (299)

Rozdział 7. JSF i AJAX (301)

  • Krótki przegląd cyklu życia JSF-AJAX (302)
  • Prosty przykład JSF-AJAX na dobry początek (302)
  • Atrybuty JSF-AJAX (303)
    • Atrybuty execute oraz render (304)
    • Atrybut listener (306)
    • Atrybut event (307)
    • Atrybut onevent - monitorowanie stanu AJAX-a po stronie klienta (308)
    • Atrybut onerror - monitorowanie błędów AJAX-a po stronie klienta (309)
  • Grupowanie komponentów w znaczniku (311)
  • Zastosowanie AJAX-a do aktualizacji pól formularzy po wystąpieniu błędów walidacji (312)
    • Przyciski Anuluj i Wyczyść (314)
  • Łączenie AJAX-a i zasięgu przepływu (318)
  • Żądania zwrotne i AJAX (322)
    • Warunkowe wyświetlanie i przetwarzanie żądań zwrotnych (324)
  • Czy to nie jest żądanie AJAX? (327)
  • AJAX i znacznik (328)
  • Kontrola kolejki żądań AJAX (329)
  • Jawne wczytywanie pliku jsf.js (330)
    • Prezentacja wartości parametrów (331)
    • Metoda jsf.ajax.request i komponenty inne niż UICommand (332)
    • Dostosowywanie zawartości pliku jsf.js (335)
  • Implementacja AJAX-owego paska postępów (sygnalizator działania) (338)
  • Podsumowanie (340)

Rozdział 8. JSF 2.2 - HTML5 i przesyłanie plików na serwer (341)

  • Korzystanie z HTML5 i JSF 2.2 (341)
    • Atrybuty przekazywane (342)
    • Elementy przekazywane (344)
    • JSF 2.2 - HTML5 i model Bean Validation 1.1 (Java EE 7) (346)
  • Mechanizm przesyłania plików w JSF 2.2 (347)
    • Prosty przykład przesyłania plików z wykorzystaniem możliwości JSF 2.2 (348)
    • Stosowanie wielu elementów (350)
    • Pobieranie informacji o przesyłanym pliku (351)
    • Zapis przesłanych danych na dysku (353)
    • Walidator przesyłanych plików (355)
    • Przesyłanie plików z użyciem AJAX-a (356)
    • Przesyłanie plików z podglądem (357)
    • Przesyłanie większej liczby plików (364)
    • Przesyłanie plików i nieokreślony pasek postępów (366)
    • Przesyłanie plików i określony pasek postępów (368)
  • Podsumowanie (371)

Rozdział 9. Zarządzanie stanem w JSF (373)

  • Zapisywanie stanu widoku w JSF (373)
    • Częściowe zapisywanie stanu widoku (374)
    • Częściowe zapisywanie stanu i przeglądanie drzewa (374)
    • Zapisywanie stanu widoku na serwerze lub kliencie (375)
    • Logiczne i fizyczne widoki JSF (378)
    • Zapisywanie stanu w bazie danych - aplikacja eksperymentalna (379)
    • Obsługa wyjątków ViewExpiredException (386)
    • Serializacja stanu w sesji na serwerze (389)
  • JSF 2.2 jest technologią bezstanową (391)
    • Widoki bezstanowe oraz komponenty umieszczane w zasięgu widoku (392)
    • Programowe wykrywanie widoków bezstanowych (394)
  • Uwagi dotyczące bezpieczeństwa JSF (395)
    • Cross-site request forgery (CSRF) (395)
    • Cross-site scripting (XSS) (395)
    • Wstrzykiwanie SQL (396)
  • Podsumowanie (396)

Rozdział 10. Niestandardowe komponenty JSF (397)

  • Tworzenie komponentów niestandardowych, które nie są komponentami złożonymi (398)
    • Tworzenie własnego obiektu obsługi znacznika (401)
    • Tajniki konstrukcji komponentów niestandardowych (402)
  • Tworzenie komponentów złożonych (413)
    • Implementacja komponentu złożonego Temperature (416)
    • Przekształcanie komponentu jQuery w komponent złożony (420)
    • Pisanie pola do wyboru dat HTML5 jako komponentu złożonego (425)
    • Wzbogacanie obrazka o akcje (429)
    • Stosowanie facet złożonych (431)
    • Walidacja lub konwersja danych wejściowych w komponentach złożonych (433)
    • Sprawdzanie obecności atrybutu (435)
    • Niebezpieczeństwa stosowania komponentów złożonych (435)
    • Ukrywanie atrybutów przekazywanych w komponentach złożonych (436)
    • Rozpowszechnianie komponentów złożonych w postaci plików JAR w JSF 2.2 (439)
    • Dodawanie komponentów złożonych w sposób programowy (441)
  • Podsumowanie (443)

Rozdział 11. Kontrakty biblioteki zasobów JSF 2.2 - motywy (445)

  • Stosowanie kontraktów (446)
  • Określanie wyglądu tabel przy użyciu kontraktów (448)
  • Stosowanie kontraktów do określania wyglądu komponentów interfejsu użytkownika (451)
  • Kontrakty stylów stosowane na urządzeniach różnych typów (453)
  • Tworzenie kontraktów dla komponentów złożonych (458)
  • Implementacja przełącznika motywów (460)
  • Konfiguracja kontraktów w kodzie XML (467)
  • Pakowanie kontraktów w plikach JAR (468)
  • Podsumowanie (468)

Rozdział 12. Szablony technologii Facelets (471)

  • Krótka prezentacja znaczników technologii Facelets (471)
  • Tworzenie prostego szablonu - PageLayout (474)
  • Przekazywanie parametrów przy użyciu znacznika (477)
  • Przekazywanie właściwości komponentów i metod akcji przy użyciu znacznika (479)
  • Stosowanie znaczników oraz (481)
  • Iteracja przy użyciu znacznika (484)
  • Stosowanie znaczników oraz (487)
  • Stosowanie znaczników oraz (489)
  • Debugowanie z użyciem znacznika (491)
  • Usuwanie zawartości przy użyciu znacznika (492)
  • Stosowanie atrybutu jsfc (493)
  • Rozszerzanie szablonu PageLayout (494)
  • Programowe aspekty faceletów (499)
    • Zagadnienia związane z klasą FaceletFactory (499)
    • Stosowanie klasy FaceletCache (499)
    • Klasa ResourceResolver zastąpiona klasą ResourceHandler (502)
    • Programowe dołączanie faceletów (506)
    • Tworzenie klasy TagHandler (507)
    • Pisanie niestandardowych funkcji bibliotek znaczników faceletów (508)
  • Pułapki stosowania faceletów (510)
    • AJAX i znacznik (510)
    • Przykład użycia znaczników oraz (511)
    • Przykład użycia znaczników oraz (512)
  • Podsumowanie (512)

Dodatek A. Cykl życia JSF (515)

Skorowidz (517)

  • Titel: JavaServer Faces 2.2. Mistrzowskie programowanie
  • Autor: Anghel Leonard
  • Originaler Titel: Mastering JavaServer Faces 2.2
  • Übersetzung: Piotr Rajca
  • ISBN: 978-83-283-2420-6, 9788328324206
  • Veröffentlichungsdatum: 2016-11-04
  • Format: E-book
  • Artikelkennung: jsf22m
  • Verleger: Helion