Apache Wicket w przykładach
description
Transcript of Apache Wicket w przykładach
Apache Wicketw
przykładach
Jacek Laskowskihttp://www.JacekLaskowski.pl
Ja(cek)
• Pasjonat Korporacyjnej 5-tki (Java EE 5) oraz projektów otwartych
• Założyciel i lider Warszawa JUG• Członek grup rozwojowych Apache
Geronimo, Apache OpenEJB i in.• Prowadzi Notatnik Projektanta Java EE -
http://www.JacekLaskowski.pl• Służbowo: konsultant oprogramowania w
IBM Polska
Apache Wicket
• Szkielet webowy• Zniesienie użycia JSP do prezentacji• Zniesienie konfiguracji w XML• Strony HTML to strony HTML!• wicket:id• Dostępna wersja – Apache Wicket 1.4-m1• Eclipse IDE 3.3 – Wicket Bench• NetBeans 6.1 - WicketSupport1.3
Przepis na aplikację wicketową
• Stworzenie strony HTML• Stworzenie odpowiadającej klasy
strony• Dodanie wicket:id• Testowanie, wdrożenie, nagrody, itp.
Przykład #1 – Witaj uczestniku!
• Archetyp wicket-archetype-quickstart • WebApplication oraz WebPage• Strona HTML z wicket:id (w tym
samym katalogu, co klasa strony)– Nie wszystkie elementy w html muszą
być z wicket:id - przykład: zatwierdzenie formularza przez <input type="submit" value="go">
• Konfiguracja web.xml
Przykład #2 – Model w Wicket
• Model oparty o POJO w Wicket - CompoundPropertyModel
• new PropertyModel(this, „powitanie")• new
CompoundPropertyModel(osoba);• PropertyModel (w tle OGNL)
Przykład #3 – Upiększanie URLi
• mountBookmarkablePage("/home", HomePage.class); w init() w
WebApplication• Mapowanie wszystkich stron z
wybranego pakietu java do wybranego adresu po nazwie klasy
• Kto decyduje o przepływie w aplikacji? W JSF? W GWT? W Wicket?
Przykład #4 – Nawigacja w Wicket
• Component.setResponsePage(new Strona(parametry));
• Bezparametrowy konstruktor lub konstruktor z pojedyńczym parametrem typu PageParameters dla wywołań klienckich
• wicket:bookmarkablePage=:klasaStrony, gdzie wartością jest strona do wyświetlenia.
Przykład #5 – Wybrane kontrolki
• DropDownChoice• FeedbackPanel• Komunikacja z serwerem po wyborze
z listy
Przykład #6 – Przestrzenie obiektów
• Sesja - WebSession• Aplikacja – WebApplication• ...get()
Przykład #7 – Przekierowanie
• Component.continueToOriginalDestination
• RestartResponseAtInterceptPageException
• Strona przekierowania argumentem wyjątku
Przykład #8 – Wicket i Spring
• Obiekty aplikacyjne przekazane do zarządzania Springowi
Wicket w Biblioteczce JUGa
Apache Wicket w przykładach
Pytania?
Jacek Laskowskihttp://www.JacekLaskowski.pl