Java Server Faces narzędzie do implementacji w wy prezentacji



Podobne dokumenty
Wprowadzenie do technologii JavaServer Faces 2.2 na podstawie Wykład 2 Technologie internetowe

Programowanie komponentowe 5

Konwersja danych. Programowanie komponentowe 4. wg bnaph.html

Budowa prostej aplikacji wielowarstwowej. Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz

Zastosowanie technologii Ajax w ramach technologii JavaServer Faces wg

Poznań Java User Group Java Server Faces. Wprowadzenie (Fakty i Mity)

Zastosowanie słuchaczy zdarzeń wg

Szkolenie wycofane z oferty

Zastosowanie walidatorów oraz komponentów wyboru wg

JavaServer Faces (JSF)

Budowa aplikacji wielowarstwowych. Obsługa zdarzeń, zastosowanie walidatorów, wykonanie listy typu Drop Down List.

Java Enterprise Edition

Złożone komponenty JSF wg

Złożone komponenty JSF wg

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz

Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie

Przykłady pytań do zaliczenia programu wykonywanego w ramach zajęć laboratoryjnych 6-8 z Programowania komponentowego w Javie. Zofia Kruczkiewicz

Budowa aplikacji wielowarstwowych. zastosowanie walidatorów.

6. Powtórz kroki z punktu 5. dla strony sorry.jsp, zmieniając jedynie treść wyświetlanego tekstu ( Niestety zamiast Witaj )

Podstawowe informacje o technologii JavaEE5 Programowanie komponentowe 2

Budowa aplikacji wielowarstwowych. Obsługa zdarzeń

Projektowanie i wdrażanie systemów informatycznych. Dodanie aplikacji klienta uruchamianej przez przeglądarkę kontynuacja projektu:

Zastosowanie komponentów EJB typu Session

Infrastruktura aplikacji WWW II

Serwery aplikacji. dr Radosław Matusik. radmat

JSF 1.2. w wykonaniu NetBeans IDE 6.1. Jacek Laskowski

Java EE: JSF + EJB + JPA + CDI + BV

Wybrane działy Informatyki Stosowanej

Java. Michał Wójcik.

Budowa aplikacji wielowarstwowych zastosowanie szablonów. Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz

Podstawy technologii JavaServer Faces wg

Wybierz kategorię Java Web i typ projektu Web Application. Kliknij przycisk Next >.

Enterprise JavaBeans (EJB)

JAVA EE 8. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska

FACES J AVAS ERVER. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska

Contexts and Dependency Injection (CDI) Autor wykładu: Marek Wojciechowski

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie

Programowanie w Sieci Internet JSP ciąg dalszy. Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie

Serwery aplikacji. mgr Radosław Matusik. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego radmat radmat@math.uni.lodz.

Programowanie w języku Java. Wykład 13: Java Platform, Enterprise Edition (Java EE)

1 Wprowadzenie do J2EE

Java EE: JSF + EJB + JPA

Laboratorium 7 Blog: dodawanie i edycja wpisów

JBoss Seam: framework nowej generacji. Copyright Piotr Kochański & Erudis,

Facelets ViewHandler

Enterprise JavaBeans

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Podstawowe informacje o technologii Java Persistence API - przykład


Budowa prostej aplikacji wielowarstwowej

BEAN VALIDATION. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska

Java JMX. Marcin Werla. Monitorowanie i zarządzanie usługami sieciowymi w Javie. mwerla@man.poznan.pl PCSS/Poznań JUG

JAVA SERVER FACES jest to nowy framework Javy do tworzenia interface u użytkownika dla aplikacji sieciowych.

Kurs programowania. Wykład 7. Wojciech Macyna. 25 kwietnia 2017

Programowanie zdarzeniowe

Web frameworks do budowy aplikacji zgodnych z J2EE

Wzorce Strukturalne. Adapter: opis. Tomasz Borzyszkowski

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

A Zasady współpracy. Ocena rozwiązań punktów punktów punktów punktów punktów

Projektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz

Serwery aplikacji. dr Radosław Matusik. radmat

Microsoft.NET: LINQ to SQL, ASP.NET AJAX

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3

WYKŁAD 1 ANGULARJS CZĘŚĆ 1

Enterprise JavaBeans. 1. Architektura EJB: komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 2. Kontenery EJB JBoss.

Zagadnienia projektowania aplikacji J2EE

Obsługa transakcji rozproszonych Java. Marek Wojciechowski, Maciej Zakrzewicz Instytut Informatyki, Politechnika Poznańska

E:\DYDAKTYKA\ZAI\ZWWW\Laboratoria\L07\Java Persistence.doc 2011-lis-24, 17:0 Zaawansowane aplikacje internetowe Laboratorium Java Persistence.

Java - interfejs graficzny

EJB 3.0 & JBoss Seam. 25 kwietnia 2007 Jacek Gerbszt 1

Wykorzystywanie parsera DOM w programach Java i PL/SQL

Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom.

Podstawowe informacje o technologii Java EE 7

Wywoływanie metod zdalnych

Zaawansowane Techniki Bazodanowe

4 Web Forms i ASP.NET Web Forms Programowanie Web Forms Możliwości Web Forms Przetwarzanie Web Forms...152

Tworzenie aplikacji J2EE w technologii JavaServer Faces (JSF)

Infrastruktura aplikacji WWW

Szkolenie. IBM Lotus - Podstawy projektowania aplikacji w Domino Designer 8.5. Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

Kompleksowe tworzenie aplikacji klasy Desktop z wykorzystaniem SWT i

Hermes EFK Dokumentacja użytkownika. v

Projektowanie Aplikacji Internetowych. Wzorce projektowe warstwy usług

Aplikacje internetowe i rozproszone - laboratorium

Programowanie wielowarstwowe i komponentowe JSP, JSF

MVVM i XAML w Visual Studio 2015 / Jacek Matulewski. Gliwice, cop Spis treści

Projektowanie aplikacji w modelu MVC opartej o framework CodeIgniter

Zaawansowane aplikacje internetowe - laboratorium

Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin

Simple Network Management Protocol

Quiz Aplikacja internetowa

SPRING FRAMEWORK. dr inż. Jakub Chłapioski

Java Server Faces - wprowadzenie

Walidacja danych w ASP.NET MVC

Wywoływanie metod zdalnych

EJB 2.x oraz zmiany w standardzie dla EJB 3.0. Michał Stanek

Metody dostępu do danych

Web frameworks do budowy aplikacji zgodnych z J2EE. Jacek Panachida

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Transkrypt:

Java Server Faces narzędzie do implementacji w wy prezentacji pojęcie komponentu powiązanie z modelem danych widok (View) jako drzewo komponentów obiekty pomocnicze: konwertery, walidatory, obsługa zdarzeń Oskar Świda 1

Zadania JSF zarządzanie stanem komponentów pomiędzy wywołaniami obsługa wielu klientów (przeglądarek) przetwarzanie formularzy (wielostronnicowe) zdarzenia generowane przez klienta obsługiwane po stronie serwera walidacja danych konwersja danych przejrzysty system obsługi błędów i wyjątków system nawigacji Oskar Świda 2

Schemat środowiska JSF View Render Data model Converter Data model Validator Oskar Świda 3

Schemat przetwarzania żądań Restore View Render Response Apply Request Values Process Events Process Validation Process Events Invoke Application Process Events Update Model Values Process Events Oskar Świda 4

Schemat przetwarzania żądań Restore View: szukamy widoku (UIViewRoot) znaleziono sprawdzamy "binding" nie znaleziono określamy typ żądania (initial, postback) Apply Request Values: zapis danych z żądania w węzłach widoku komponenty typu ActionSource kolejkują zdarzenia (w fazie InvApp lub po aktualnej jeśli immediate) komponenty typu EditableValueHolder wykonują konwersję i walidację jeśli immediate Oskar Świda 5

Schemat przetwarzania żądań Process Validations: konwersja i walidacja z ewentualnym umieszczeniem komunikatu w kolejce Update Model Values: przekazanie danych do modelu wykorzystywanego przez aplikację Invoke Application Render Response generowanie odpowiedzi zapis stanu odpowiedzi dla późniejszych wywołań (State Management) Oskar Świda 6

Obejrzyjmy przetwarzanie javax.faces.lifecycle klasy odpowiedzialne za cykl życia żądania i odpowiedzi faces.config.xml <lifecycle> <phase listener>wyklad.sledz</phase listener> </lifecycle> import javax.faces.event.*; public class Sledz implements PhaseListener { public PhaseId getphaseid() { return PhaseId.RESTORE_VIEW; } public void beforephase(phaseevent event) { } public void afterphase(phaseevent event) { }} Oskar Świda 7

Interfejs zbudowany z komponentów Każdy element na stronie jest reprezentowany przez komponent Komponenty tworzą strukturę hierarchiczną (tak jak znaczniki) Aspekt (facet) element zależny ale nie dziecko Własności komponentu niezależne od wizualizacji: id, parent, rendered, renderertype, renderschildren, transient Dowiązywanie komponentu do obiektu po stronie serwera (binding) Oskar Świda 8

Interfejs zbudowany z komponentów ActionSource action: Apply Request Values (immediate) lub Invoke App actionlistener: immediate: NamingContainer ActionSource2 actionexpression: StateHolder transient: ValueHolder converter: value: UpdateModelValues, RenderResponse localvalue: EditableValueHolder immediate:applyrequestvalues zamiast ProcessValidations required: validator: submittedvalue: Oskar Świda 9

Klasy wspomagające Konwertery: Converter(getAsObject, getasstring) Zdarzenia: ActionListener, ValueChangeListener Walidatory: Validator ( validate ) Standardowe walidatory: DoubleRangeValidator dowolny typ numeryczny z zakresu LengthValidator napis o wyznaczonej długości LongRangeValidator liczba całkowita z zakresu MethodExpressionValidator metoda obiektu Oskar Świda 10

Obiekty zarządzane (Managed beans) Rola MB w aplikacji JSF Własności zarządzane (managed property) Zakres widzialności: none, application, session, request Obiekty niejawne (implicit): request: view, facescontext, header, request session: session, sessionscope application: application, initparam Język wyrażeń a obiekty zarządzane (wartości i metody) Oskar Świda 11

Obiekty zarządzane c.d. <h:inputtext value="#{ob.wlasnosc}" /> <h:commandbutton action="#{ob.metoda}" /> <managed bean> <managed bean name /> <managed bean class /> <managed bean scope /> <managed property> <property name /> <value /> </managed property> </managed bean> <managed property> <property name /> <map entries> <key class /> <value class /> <map entry> <key /> <value /> </map entry> </map entries> </managed property> Oskar Świda 12

Inne elementy aplikacji JSF Akcja public bez parametrów zwraca Object (outcome) Navigation Handler odpowiedzialny za nawigację View Handler Obsługa faz RestoreView oraz RenderResponse State Manager Zapis i odczyt widoku pomiędzy wywołaniami javax.faces.state_saving_method Oskar Świda 13

<navigation rule> Nawigacja <from view id /> <navigation case> <from action /> <from outcome /> Strona wyjściowa konkretnej reguły Wyrażenie wskazujące na wykonywaną akcję Wartość zwracana z akcji <to view id /> </navigation case> </navigation rule> Strona docelowa Oskar Świda 14

Przykład Temat: tablica ogłoszeń Realizacja faza 1 ogłoszenia anonimowe faza 2 ogłoszenia imienne Dane: przechowywane w pliku (tytuł, treść, data dodania/ważności, autor, kategoria) Funkcjonalność: dodawanie, usuwanie, edycja, przeglądanie/przeszukiwanie ogłoszeń Oskar Świda 15

Modyfikacja obsługi drzewa komponentów Facelets Konfiguracja: javax.faces.default_suffix <application><view handler> com.sun.facelets.faceletviewhandler Przestrzeń nazewnicza: http://java.sun.com/jsf/facelets Atrybut jsfc Znaczniki: composition, decorate, insert, define, param, repeat Oskar Świda 16