140 likes | 286 Views
Apache Wicket w przykładach. Jacek Laskowski http://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.
E N D
Apache Wicketwprzykładach Jacek Laskowski http://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
Apache Wicket w przykładachPytania? Jacek Laskowski http://www.JacekLaskowski.pl