際際滷

際際滷Share a Scribd company logo
www.proskar.pl
JSF  standard tworzenia
aplikacji
Warsztaty PROSKAR
Plan
1. Wstp
2. Struktura aplikacji
3. Konwencja tworzenia kluczy komunikat坦w
4. Korzystanie z mechanizmu @FacesMessage
5. Tworzenie formularzy
6. Walidacja danych
7. Jak implementowa komponenty @Named?
8. Ajax
9. Uwagi
10. Podsumowanie
www.proskar.pl 2/36
Wstp
 Definicja
 Framework upraszczajcy tworzenie
interfejsu u甜ytkownika aplikacji JEE
 Architektura MVC(Model  View - Controller)
 Cz specyfikacji JEE
 Umo甜liwia tworzenie du甜ych aplikacji WWW
 Umo甜liwia zmiany w warstwie widoku
aplikacji bez wpywu na ni甜sze warstwy
www.proskar.pl 3/36
 Zawiera biblioteki znacznik坦w JSP
 Umo甜liwia wykonywanie metod
zaimplementowanych w Javie bezporednio
na stronie WWW, dziki Managed Beanom
lub Beanom CDI.
www.proskar.pl 4/36
Struktura aplikacji
 Struktura katalog坦w
 WEB-INF  pliki konfiguracyjne
 include  dokumenty czciowe
.xhtml
 sections  definicje sekcji
(header, menu itd..)
www.proskar.pl 5/36
 templates  szablony aplikacji
 resources  zasoby u甜ywane przy
budowaniu widok坦w (css, js itd)
 views  widoki aplikacji
www.proskar.pl 6/36
 Podzia na pakiety warstwy Java
 Pakiet g坦wny aplikacji
 Nazwa obszaru
 cdi  beany zarzdzane
 converter - konwertery
 validator - walidatory
 viewmodel  modele widoku
 Common  wsp坦lne komponenty zarzadzane,
konwertery itd.
 Util  klasy narzdziowe
www.proskar.pl 7/36
Konfiguracja aplikacji
 Web.xml
www.proskar.pl 8/36
 W pliku web.xml konfiguruje si
 Servlet frontowy
 Stron startow
 Strony bdu gdy zostanie wyrzucony konkretny wyjtek
 Dugo sesji
 Etap projektu
www.proskar.pl 9/36
 Faces-config.xml
www.proskar.pl 10/36
 W pliku faces-config.xml konfiguruje si
 Reguy nawigacyjne
 Zasoby
 Managed beany
 Konwertery
 Walidatory
www.proskar.pl 11/36
Konwencja tworzenia kluczy
komunikat坦w
 Elementy wsp坦lne definiujemy na samej
g坦rze pliku
 Nazwy p坦l definiujemy zgodnie z konwencja
 model.nazwaKlasy.nazwaPola = wartosc
 Etykiety w widokach definiujemy zgodnie z
konwencja
 View.nazwaWidoku.nazwaEtykiety = warto
www.proskar.pl 12/36
 Grupowanie komunikat坦w
 Wedug podziau aplikacji na obszary
funkcjonalne
 Wyr坦甜nione tytuem i oddzielone od siebie
pojedyncz pusta lini
 Enumeracje wykorzystywane w widokach
 Zawieraj pole etykieta zawierajce klucz do
wartoci z pliku lokalizacyjnego
www.proskar.pl 13/36
www.proskar.pl 14/36
Przykad pliku messages.properties utworzony zgodnie
z konwencj
www.proskar.pl 15/36
Przykadowa implementacja enumeratora zgodnie
z powy甜sz konwencj
www.proskar.pl 16/36
 Odbywa si pomidzy stronami aplikacji
 Reguy nawigacyjne zdefiniowane s w
pliku faces-config.xml.
 Dziki temu nie trzeba operowa na
penych cie甜kach do plik坦w tylko na
podanej nazwie
Nawigacja
www.proskar.pl 17/36
Przykad regu nawigacji w pliku faces-config.xml
Przykad kodu xhtml korzystajcy z regu nawigacji
 Wywietlanie komunikat坦w o wykonanych
przez u甜ytkownika dziaaniach
 Przykad
 Doda w widoku na kt坦rym ma zosta
wywietlony komunikat
 Z poziomu metody komponentu JSF wywoa
metod
www.proskar.pl 18/36
Korzystanie z mechanizmu
@FacesMessage
 Rodzaje metod wysyajcych komunikat do
komponentu comp:message
 addFlashGlobalInfo
 Wykorzystywana w przypadku przeadowania z
przekierowaniem (<redirect/> w regule nawigacji)
 addGlobalInfo
 Wykorzystywane w przypadku przeadowania bez
przekierowania oraz 甜da AJAX.
www.proskar.pl 19/36
www.proskar.pl 20/36
Przykadowe dziaanie mechanizmu @FacesMessage
 Z czego korzysta tworzc formularze?
 Primefaces
 jQuery
 Nie nale甜y u甜ywa JavaScript ze wzgldu ma jego
zale甜noci od przegldarki
 Nale甜y korzysta ze styl坦w zdefiniowanych w
globalnych arkuszach
www.proskar.pl 21/36
Tworzenie formularzy
 Nale甜y korzysta ze zdefiniowanych szablon坦w
strony (nag坦wek, menu, content, stopka)
 Tre formularza powinna znajdowa si w
ramach elementu content
 Dobrym wyjciem jest tworzenie komponent坦w
kompozytowych (composite component)
 Opakowuje standardowe znaczniki JSF do budowy
formularzy
 Polega na wydzieleniu fragmentu kodu i u甜ywaniu go
w r坦甜nych miejscach
www.proskar.pl 22/36
www.proskar.pl 23/36
Przykadowa implementacja komponentu kompozytowego
 Adnotacje standardu JSR-303 oraz jego
rozszerzenia
 Adnotacje biblioteki Hibernate Validator
 Niestandardowe komponenty walidujce
JSF
www.proskar.pl 24/36
Walidacja danych
 Walidacja z u甜yciem standardu JSR-303
oraz Hibernate Validator
 Adnotacje
 @NotNull  warto nie mo甜e by nullem
 @Min  minimalna warto dla danego pola
 @Size  definiuj dugo danych znajdujcych
si w danym polu np. List, String itd..
www.proskar.pl 25/36
 Zmiana komunikatu walidujcego
 Komunikaty nale甜y umieci w pliku
ValidationMessages.properties
 W adnotacji definiujcej wymagania dla danego
pola nale甜y umieci klucz komunikatu w
atrybucie message
www.proskar.pl 26/36
 Walidacja za pomoc komponentu
@FacesValidator
 Stosowa gdy walidacja za pomoc
adnotacji nie jest mo甜liwa
 Przykad: Nale甜y sprawdzi czy istnieje w bazie
rekord o podanej wartoci w jednej z kolumn
www.proskar.pl 27/36
 Przykadowa implementacja
www.proskar.pl 28/36
 Podczenie walidatora do komponentu
XHTML
www.proskar.pl 29/36
 Sterowanie widokiem
 Wywietlanie komunikat坦w
 Dostarczanie danych do wywietlenia
 Nawigacja pomidzy stronami
 Nie mo甜na w nich umieszcza kodu
odpowiedzialnego za logik biznesow!
www.proskar.pl 30/36
Jak implementowa
komponenty @Named?
Przykad prawidowej implementacji komponentu @Named
 Nie nale甜y u甜ywa tej technologii
nadmiernie
 Mo甜e produkowa ci甜kie do wykrycia bdy
 U甜ycie
 Stronicowanie
 Sortowanie list
 Wywietlanie p坦l formularza
 Przykad: po zaznaczeniu checkboxa pojawiaj
si dwa kolejne pola tekstowe
www.proskar.pl 32/Y
Ajax
 Nale甜y pamita o mechanizmie zasony
blokujcej interfejs do czasu otrzymania
odpowiedzi
 atwe do wykonania za pomoc komponentu
ajaxStatus biblioteki primefaces oraz biblioteki
jQuery
 Przykad implementacji blokowania interfejsu
www.proskar.pl 34/36
Uwagi
 Primefaces udostpnia implementacje jQuery
po u甜yciu odpowiednich komponent坦w w
kodzie strony
 Gdy stosowany jest Primefaces nie nale甜y
dodawa jQuery rcznie.
 Zasig sesyjny komponent坦w @Named
powinno si stosowa tylko gdy to jest
konieczne.
www.proskar.pl 35/36
Podsumowanie
 Przestrzeganie architektury aplikacji
tr坦jwarstwowej
 Duplikowanie kodu jest strat czasu
 Szablony
 Programowanie zgodne z zasadami SOLID
 Umieszczanie styli css w globalnym dokumencie
 Skrypty .js w oddzielonych od widoku
dokumentach
www.proskar.pl 36/36

More Related Content

Similar to Standard tworzenia aplikacji JSF (20)

Tech cafe Microservices
Tech cafe MicroservicesTech cafe Microservices
Tech cafe Microservices
Konrad Kr坦l
Aplikacje internetowe (2010)
Aplikacje internetowe (2010)Aplikacje internetowe (2010)
Aplikacje internetowe (2010)
Adrian Kalbarczyk
Architektura aplikacji android
Architektura aplikacji androidArchitektura aplikacji android
Architektura aplikacji android
Sages
SCAP standaryzacja format坦w wymiany danych w zakresie bezpieczestwa IT
SCAP  standaryzacja format坦w wymiany danych w zakresie bezpieczestwa ITSCAP  standaryzacja format坦w wymiany danych w zakresie bezpieczestwa IT
SCAP standaryzacja format坦w wymiany danych w zakresie bezpieczestwa IT
Redge Technologies
JMS java messaging service
JMS java messaging serviceJMS java messaging service
JMS java messaging service
PROSKAR
Silverlight i PHP - jak budowa interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budowa interfejs nowoczesnych aplikacji internetowych?Silverlight i PHP - jak budowa interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budowa interfejs nowoczesnych aplikacji internetowych?
PHPCon Poland
My littlemvc 2008 official
My littlemvc 2008 officialMy littlemvc 2008 official
My littlemvc 2008 official
skowronkow
Nowe Trendy W Projektowaniu Aplikacji Webowych
Nowe Trendy W Projektowaniu Aplikacji WebowychNowe Trendy W Projektowaniu Aplikacji Webowych
Nowe Trendy W Projektowaniu Aplikacji Webowych
Marcin Daczkowski
JavaScript, Moduy
JavaScript, ModuyJavaScript, Moduy
JavaScript, Moduy
Mariusz Nowak
1
11
1
Szymon Konkol - Publikacje Cyfrowe
Analiza TestLink - narzdzie do zarzadzania testowaniem
Analiza TestLink - narzdzie do zarzadzania testowaniemAnaliza TestLink - narzdzie do zarzadzania testowaniem
Analiza TestLink - narzdzie do zarzadzania testowaniem
Radoslaw Smilgin
Wzorce projektowe w Magento
Wzorce projektowe w MagentoWzorce projektowe w Magento
Wzorce projektowe w Magento
Divante
Encje w drupalu - DrupalCamp Wroclaw 2015
Encje w drupalu - DrupalCamp Wroclaw 2015Encje w drupalu - DrupalCamp Wroclaw 2015
Encje w drupalu - DrupalCamp Wroclaw 2015
Grzegorz Bartman
Testy integracyjne
Testy integracyjneTesty integracyjne
Testy integracyjne
PROSKAR
PLNOG23 - Bartosz Belter & dr hab. in甜. Andrzej Bben - Techniki przetwarzani...
PLNOG23 - Bartosz Belter & dr hab. in甜. Andrzej Bben - Techniki przetwarzani...PLNOG23 - Bartosz Belter & dr hab. in甜. Andrzej Bben - Techniki przetwarzani...
PLNOG23 - Bartosz Belter & dr hab. in甜. Andrzej Bben - Techniki przetwarzani...
PROIDEA
Ajax w akcji
Ajax w akcjiAjax w akcji
Ajax w akcji
Wydawnictwo Helion
Systemy dedykowane (pdf)
Systemy dedykowane (pdf)Systemy dedykowane (pdf)
Systemy dedykowane (pdf)
Agnieszka Przybysz
Praktyczne u甜ycie Repository Pattern w Laravel cz. I
Praktyczne u甜ycie Repository Pattern w Laravel cz. IPraktyczne u甜ycie Repository Pattern w Laravel cz. I
Praktyczne u甜ycie Repository Pattern w Laravel cz. I
Laravel Poland MeetUp
Tech cafe Microservices
Tech cafe MicroservicesTech cafe Microservices
Tech cafe Microservices
Konrad Kr坦l
Aplikacje internetowe (2010)
Aplikacje internetowe (2010)Aplikacje internetowe (2010)
Aplikacje internetowe (2010)
Adrian Kalbarczyk
Architektura aplikacji android
Architektura aplikacji androidArchitektura aplikacji android
Architektura aplikacji android
Sages
SCAP standaryzacja format坦w wymiany danych w zakresie bezpieczestwa IT
SCAP  standaryzacja format坦w wymiany danych w zakresie bezpieczestwa ITSCAP  standaryzacja format坦w wymiany danych w zakresie bezpieczestwa IT
SCAP standaryzacja format坦w wymiany danych w zakresie bezpieczestwa IT
Redge Technologies
JMS java messaging service
JMS java messaging serviceJMS java messaging service
JMS java messaging service
PROSKAR
Silverlight i PHP - jak budowa interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budowa interfejs nowoczesnych aplikacji internetowych?Silverlight i PHP - jak budowa interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budowa interfejs nowoczesnych aplikacji internetowych?
PHPCon Poland
My littlemvc 2008 official
My littlemvc 2008 officialMy littlemvc 2008 official
My littlemvc 2008 official
skowronkow
Nowe Trendy W Projektowaniu Aplikacji Webowych
Nowe Trendy W Projektowaniu Aplikacji WebowychNowe Trendy W Projektowaniu Aplikacji Webowych
Nowe Trendy W Projektowaniu Aplikacji Webowych
Marcin Daczkowski
JavaScript, Moduy
JavaScript, ModuyJavaScript, Moduy
JavaScript, Moduy
Mariusz Nowak
Analiza TestLink - narzdzie do zarzadzania testowaniem
Analiza TestLink - narzdzie do zarzadzania testowaniemAnaliza TestLink - narzdzie do zarzadzania testowaniem
Analiza TestLink - narzdzie do zarzadzania testowaniem
Radoslaw Smilgin
Wzorce projektowe w Magento
Wzorce projektowe w MagentoWzorce projektowe w Magento
Wzorce projektowe w Magento
Divante
Encje w drupalu - DrupalCamp Wroclaw 2015
Encje w drupalu - DrupalCamp Wroclaw 2015Encje w drupalu - DrupalCamp Wroclaw 2015
Encje w drupalu - DrupalCamp Wroclaw 2015
Grzegorz Bartman
Testy integracyjne
Testy integracyjneTesty integracyjne
Testy integracyjne
PROSKAR
PLNOG23 - Bartosz Belter & dr hab. in甜. Andrzej Bben - Techniki przetwarzani...
PLNOG23 - Bartosz Belter & dr hab. in甜. Andrzej Bben - Techniki przetwarzani...PLNOG23 - Bartosz Belter & dr hab. in甜. Andrzej Bben - Techniki przetwarzani...
PLNOG23 - Bartosz Belter & dr hab. in甜. Andrzej Bben - Techniki przetwarzani...
PROIDEA
Praktyczne u甜ycie Repository Pattern w Laravel cz. I
Praktyczne u甜ycie Repository Pattern w Laravel cz. IPraktyczne u甜ycie Repository Pattern w Laravel cz. I
Praktyczne u甜ycie Repository Pattern w Laravel cz. I
Laravel Poland MeetUp

More from PROSKAR (7)

Wysyanie wiadomoci email z u甜yciem serwera wildfly
Wysyanie wiadomoci email z u甜yciem serwera wildflyWysyanie wiadomoci email z u甜yciem serwera wildfly
Wysyanie wiadomoci email z u甜yciem serwera wildfly
PROSKAR
rodowisko android studio - podstawy
rodowisko android studio - podstawyrodowisko android studio - podstawy
rodowisko android studio - podstawy
PROSKAR
Selenium
SeleniumSelenium
Selenium
PROSKAR
Logowanie przez facebook i gmail w java
Logowanie przez facebook i gmail w javaLogowanie przez facebook i gmail w java
Logowanie przez facebook i gmail w java
PROSKAR
Java authentication and authorization service
Java authentication and authorization serviceJava authentication and authorization service
Java authentication and authorization service
PROSKAR
Flow scope w JSF
Flow scope w JSFFlow scope w JSF
Flow scope w JSF
PROSKAR
Blokada wykonywania wielu akcji z jednego widoku
Blokada wykonywania wielu akcji z jednego widokuBlokada wykonywania wielu akcji z jednego widoku
Blokada wykonywania wielu akcji z jednego widoku
PROSKAR
Wysyanie wiadomoci email z u甜yciem serwera wildfly
Wysyanie wiadomoci email z u甜yciem serwera wildflyWysyanie wiadomoci email z u甜yciem serwera wildfly
Wysyanie wiadomoci email z u甜yciem serwera wildfly
PROSKAR
rodowisko android studio - podstawy
rodowisko android studio - podstawyrodowisko android studio - podstawy
rodowisko android studio - podstawy
PROSKAR
Selenium
SeleniumSelenium
Selenium
PROSKAR
Logowanie przez facebook i gmail w java
Logowanie przez facebook i gmail w javaLogowanie przez facebook i gmail w java
Logowanie przez facebook i gmail w java
PROSKAR
Java authentication and authorization service
Java authentication and authorization serviceJava authentication and authorization service
Java authentication and authorization service
PROSKAR
Flow scope w JSF
Flow scope w JSFFlow scope w JSF
Flow scope w JSF
PROSKAR
Blokada wykonywania wielu akcji z jednego widoku
Blokada wykonywania wielu akcji z jednego widokuBlokada wykonywania wielu akcji z jednego widoku
Blokada wykonywania wielu akcji z jednego widoku
PROSKAR

Standard tworzenia aplikacji JSF

  • 1. www.proskar.pl JSF standard tworzenia aplikacji Warsztaty PROSKAR
  • 2. Plan 1. Wstp 2. Struktura aplikacji 3. Konwencja tworzenia kluczy komunikat坦w 4. Korzystanie z mechanizmu @FacesMessage 5. Tworzenie formularzy 6. Walidacja danych 7. Jak implementowa komponenty @Named? 8. Ajax 9. Uwagi 10. Podsumowanie www.proskar.pl 2/36
  • 3. Wstp Definicja Framework upraszczajcy tworzenie interfejsu u甜ytkownika aplikacji JEE Architektura MVC(Model View - Controller) Cz specyfikacji JEE Umo甜liwia tworzenie du甜ych aplikacji WWW Umo甜liwia zmiany w warstwie widoku aplikacji bez wpywu na ni甜sze warstwy www.proskar.pl 3/36
  • 4. Zawiera biblioteki znacznik坦w JSP Umo甜liwia wykonywanie metod zaimplementowanych w Javie bezporednio na stronie WWW, dziki Managed Beanom lub Beanom CDI. www.proskar.pl 4/36
  • 5. Struktura aplikacji Struktura katalog坦w WEB-INF pliki konfiguracyjne include dokumenty czciowe .xhtml sections definicje sekcji (header, menu itd..) www.proskar.pl 5/36
  • 6. templates szablony aplikacji resources zasoby u甜ywane przy budowaniu widok坦w (css, js itd) views widoki aplikacji www.proskar.pl 6/36
  • 7. Podzia na pakiety warstwy Java Pakiet g坦wny aplikacji Nazwa obszaru cdi beany zarzdzane converter - konwertery validator - walidatory viewmodel modele widoku Common wsp坦lne komponenty zarzadzane, konwertery itd. Util klasy narzdziowe www.proskar.pl 7/36
  • 9. W pliku web.xml konfiguruje si Servlet frontowy Stron startow Strony bdu gdy zostanie wyrzucony konkretny wyjtek Dugo sesji Etap projektu www.proskar.pl 9/36
  • 11. W pliku faces-config.xml konfiguruje si Reguy nawigacyjne Zasoby Managed beany Konwertery Walidatory www.proskar.pl 11/36
  • 12. Konwencja tworzenia kluczy komunikat坦w Elementy wsp坦lne definiujemy na samej g坦rze pliku Nazwy p坦l definiujemy zgodnie z konwencja model.nazwaKlasy.nazwaPola = wartosc Etykiety w widokach definiujemy zgodnie z konwencja View.nazwaWidoku.nazwaEtykiety = warto www.proskar.pl 12/36
  • 13. Grupowanie komunikat坦w Wedug podziau aplikacji na obszary funkcjonalne Wyr坦甜nione tytuem i oddzielone od siebie pojedyncz pusta lini Enumeracje wykorzystywane w widokach Zawieraj pole etykieta zawierajce klucz do wartoci z pliku lokalizacyjnego www.proskar.pl 13/36
  • 14. www.proskar.pl 14/36 Przykad pliku messages.properties utworzony zgodnie z konwencj
  • 15. www.proskar.pl 15/36 Przykadowa implementacja enumeratora zgodnie z powy甜sz konwencj
  • 16. www.proskar.pl 16/36 Odbywa si pomidzy stronami aplikacji Reguy nawigacyjne zdefiniowane s w pliku faces-config.xml. Dziki temu nie trzeba operowa na penych cie甜kach do plik坦w tylko na podanej nazwie Nawigacja
  • 17. www.proskar.pl 17/36 Przykad regu nawigacji w pliku faces-config.xml Przykad kodu xhtml korzystajcy z regu nawigacji
  • 18. Wywietlanie komunikat坦w o wykonanych przez u甜ytkownika dziaaniach Przykad Doda w widoku na kt坦rym ma zosta wywietlony komunikat Z poziomu metody komponentu JSF wywoa metod www.proskar.pl 18/36 Korzystanie z mechanizmu @FacesMessage
  • 19. Rodzaje metod wysyajcych komunikat do komponentu comp:message addFlashGlobalInfo Wykorzystywana w przypadku przeadowania z przekierowaniem (<redirect/> w regule nawigacji) addGlobalInfo Wykorzystywane w przypadku przeadowania bez przekierowania oraz 甜da AJAX. www.proskar.pl 19/36
  • 20. www.proskar.pl 20/36 Przykadowe dziaanie mechanizmu @FacesMessage
  • 21. Z czego korzysta tworzc formularze? Primefaces jQuery Nie nale甜y u甜ywa JavaScript ze wzgldu ma jego zale甜noci od przegldarki Nale甜y korzysta ze styl坦w zdefiniowanych w globalnych arkuszach www.proskar.pl 21/36 Tworzenie formularzy
  • 22. Nale甜y korzysta ze zdefiniowanych szablon坦w strony (nag坦wek, menu, content, stopka) Tre formularza powinna znajdowa si w ramach elementu content Dobrym wyjciem jest tworzenie komponent坦w kompozytowych (composite component) Opakowuje standardowe znaczniki JSF do budowy formularzy Polega na wydzieleniu fragmentu kodu i u甜ywaniu go w r坦甜nych miejscach www.proskar.pl 22/36
  • 24. Adnotacje standardu JSR-303 oraz jego rozszerzenia Adnotacje biblioteki Hibernate Validator Niestandardowe komponenty walidujce JSF www.proskar.pl 24/36 Walidacja danych
  • 25. Walidacja z u甜yciem standardu JSR-303 oraz Hibernate Validator Adnotacje @NotNull warto nie mo甜e by nullem @Min minimalna warto dla danego pola @Size definiuj dugo danych znajdujcych si w danym polu np. List, String itd.. www.proskar.pl 25/36
  • 26. Zmiana komunikatu walidujcego Komunikaty nale甜y umieci w pliku ValidationMessages.properties W adnotacji definiujcej wymagania dla danego pola nale甜y umieci klucz komunikatu w atrybucie message www.proskar.pl 26/36
  • 27. Walidacja za pomoc komponentu @FacesValidator Stosowa gdy walidacja za pomoc adnotacji nie jest mo甜liwa Przykad: Nale甜y sprawdzi czy istnieje w bazie rekord o podanej wartoci w jednej z kolumn www.proskar.pl 27/36
  • 29. Podczenie walidatora do komponentu XHTML www.proskar.pl 29/36
  • 30. Sterowanie widokiem Wywietlanie komunikat坦w Dostarczanie danych do wywietlenia Nawigacja pomidzy stronami Nie mo甜na w nich umieszcza kodu odpowiedzialnego za logik biznesow! www.proskar.pl 30/36 Jak implementowa komponenty @Named?
  • 31. Przykad prawidowej implementacji komponentu @Named
  • 32. Nie nale甜y u甜ywa tej technologii nadmiernie Mo甜e produkowa ci甜kie do wykrycia bdy U甜ycie Stronicowanie Sortowanie list Wywietlanie p坦l formularza Przykad: po zaznaczeniu checkboxa pojawiaj si dwa kolejne pola tekstowe www.proskar.pl 32/Y Ajax
  • 33. Nale甜y pamita o mechanizmie zasony blokujcej interfejs do czasu otrzymania odpowiedzi atwe do wykonania za pomoc komponentu ajaxStatus biblioteki primefaces oraz biblioteki jQuery
  • 34. Przykad implementacji blokowania interfejsu www.proskar.pl 34/36
  • 35. Uwagi Primefaces udostpnia implementacje jQuery po u甜yciu odpowiednich komponent坦w w kodzie strony Gdy stosowany jest Primefaces nie nale甜y dodawa jQuery rcznie. Zasig sesyjny komponent坦w @Named powinno si stosowa tylko gdy to jest konieczne. www.proskar.pl 35/36
  • 36. Podsumowanie Przestrzeganie architektury aplikacji tr坦jwarstwowej Duplikowanie kodu jest strat czasu Szablony Programowanie zgodne z zasadami SOLID Umieszczanie styli css w globalnym dokumencie Skrypty .js w oddzielonych od widoku dokumentach www.proskar.pl 36/36