Szczegóły ebooka

JavaServer Faces 2.2. Mistrzowskie programowanie

JavaServer Faces 2.2. Mistrzowskie programowanie

Anghel Leonard

Ebook
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)

  • Tytuł: JavaServer Faces 2.2. Mistrzowskie programowanie
  • Autor: Anghel Leonard
  • Tytuł oryginału: Mastering JavaServer Faces 2.2
  • Tłumaczenie: Piotr Rajca
  • ISBN: 978-83-283-2420-6, 9788328324206
  • Data wydania: 2016-11-04
  • Format: Ebook
  • Identyfikator pozycji: jsf22m
  • Wydawca: Helion