Budowa aplikacji wielowarstwowych. zastosowanie walidatorów.

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

Budowa aplikacji wielowarstwowych. Obsługa zdarzeń

Zastosowanie słuchaczy zdarzeń wg

Budowa aplikacji wielowarstwowych. Zastosowanie technologii Ajax

Budowa aplikacji wielowarstwowych. Zastosowanie technologii Ajax

Zastosowanie walidatorów oraz komponentów wyboru wg

Budowa aplikacji wielowarstwowych. Zastosowanie konwerterów oraz plików typu properties.


Budowa aplikacji wielowarstwowych. Zastosowanie szablonów, tabel oraz plików typu properties

Budowa prostej aplikacji wielowarstwowej

Budowa aplikacji wielowarstwowych. Zastosowanie Kaskadowych arkuszy stylów (CSS)

Budowa aplikacji wielowarstwowych. Zastosowanie szablonów

Kontynuacja programu z lab2 refaktoryzacja kodu oparta na dodaniu obiektu transferowego oraz stronicowania tabeli w formularzu JSF

Zastosowanie słuchaczy zdarzeń, walidatorów oraz komponentów wyboru wg

Zastosowanie komponentów EJB typu Session

Budowa aplikacji wielowarstwowych, zastosowanie obiektów transferowych, konwerterów i walidatorów

Budowa aplikacji wielowarstwowych. Zastosowanie szablonów, tabel oraz plików typu properties

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.

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

Budowa aplikacji wielowarstwowych. Zastosowanie szablonów, tabel oraz plików typu properties

Zastosowanie technologii Ajax w ramach technologii JavaServer Faces wg

termin Podobna wada 2) jak w Sklep_ , zal. 3.0 termin

termin. Podobna wada 2) jak w Sklep_6

termin Podobna wada 2) jak w Sklep_ , zal. 3.0 termin

)<h:commandLink action="#{managed _produkt.dane_pro duktu}" value="ok" actionlistener="#{m anaged_produkt.

1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1)

Języki i metody programowania Java Lab2 podejście obiektowe

Wielowarstwowa aplikacja internetowa. Wykonanie widoku typu tabela. Pliki typu properties. wg

Java Server Faces narzędzie do implementacji w wy prezentacji

Laboratorium 8 Diagramy aktywności

Budowa prostej aplikacji wielowarstwowej. Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz

Programowanie komponentowe 5

Diagram stanów Laboratorium 9

Zastosowanie konwerterów wg

Złożone komponenty JSF wg

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Złożone komponenty JSF wg

Tworzenie projektu zawierającego aplet w środowisku NetBeans. lab1. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych

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

Protokół JDBC współpraca z relacyjnymi bazami danych lab4. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych

Konwersja danych. Programowanie komponentowe 4. wg bnaph.html

Języki i metody programowania Java Lab1 Zofia Kruczkiewicz

Protokół JDBC współpraca z relacyjnymi bazami danych lab3

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

Języki i metody programowania Java. Wykład 2 (część 2)

Aplikacje RMI Lab4

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

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

Kontynuacja programu z lab3 zaawansowane renderowanie formularzy JSF

Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse

Komunikatory typu TCP/IP lab2. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44

Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0 Zofia Kruczkiewicz

JavaServer Faces (JSF)

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

Języki i metody programowania Java INF302W Wykład 3 (część 1)

Diagramy maszyn stanowych, wzorce projektowe Wykład 5 część 1

Throwable. Wyjatek_1(int x_) { x = x_; } int podaj_x()

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 2).

Podstawy technologii JavaServer Faces wg

Aplikacja wielow tkowa prosty komunikator

Podejście obiektowe. Tablice obiektów Przykład 1 metody i atrybuty statyczne oraz niestatyczne

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Aplikacje RMI

Aplikacja wielowątkowa prosty komunikator

Programowanie urządzeń mobilnych w systemie Android. Ćwiczenie 7 Wykorzystanie układu LinearLayout

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

Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com

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

Instrukcja 5 Laboratorium z Podstaw Inżynierii Oprogramowania. Warstwy integracji z bazą danych: Wzorzec DAO Technologia ORM

Klasy abstrakcyjne i interfejsy

Projektowanie aplikacji internetowych laboratorium

Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017

Programowanie wielowarstwowe i komponentowe

Podstawy technologii JavaServer Faces wg

Podstawowe informacje o technologii Java Persistence API - przykład

Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface)

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP002017_ Laboratorium 11 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse

Programowanie w Internecie. Java

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie

1 Atrybuty i metody klasowe

Wątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().

PODEJŚCIE OBIEKTOWE. Przykład 1 metody i atrybuty statyczne

Zaawansowane aplikacje internetowe laboratorium

Instrukcja 3 Laboratorium z Podstaw Inżynierii Oprogramowania

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 7

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 5

STWORZENIE PRZYKŁADOWEJ

Programowanie obiektowe

Java Enterprise Edition

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz

Wykład 7: Pakiety i Interfejsy

Wykład 6 Dziedziczenie cd., pliki

Wykład 4: Klasy i Metody

Transkrypt:

Budowa aplikacji wielowarstwowych. zastosowanie walidatorów. Laboratorium 9 Technologie internetowe Zofia Kruczkiewicz TINT_Lab_9, Zofia Kruczkiewicz 1

Wykaz pytań dotyczących materiału wykorzystanego w lab9, które należy opracować (m.in.wykłady: 3, 4, 5, 7). 1. Należy opisać rolę znacznika <f:validatelongrange minimum="#{managed_produkt.min}" maximum="#{managed_produkt.max}"/> zagnieżdżonego w znaczniku <h:inputtext. Jaką rolę pełnią atrybuty tego znacznika? 2. Należy opisać rolę atrybutu validator znacznika <h:inputtext. Należy podać, jak definiuje się wartość tego atrybutu. validator="#{managed_produkt.zakrespromocji}" TINT_Lab_9, Zofia Kruczkiewicz 2

Czynności początkowe przed wykonaniem p. 1. Wykonany program jest przeznaczony do rozwijania wg p.1-6. Należy wykonać kopię programu, wykonanego podczas lab6, jako Sklep_9( wg wskazówek z instrukcji do lab. 2, slajd 4: http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/ti_/lab_tint_2.pdf). Nazwa projektu w tej instrukcji nie pokrywa się z proponowaną nazwą projektu. Ustawić kodowanie UTF-8; po zaznaczeniu nazwy projektu w oknie Projects prawym klawiszem myszy wybrać pozycję Properties/Sources/Encoding/UTF-8 TINT_Lab_9, Zofia Kruczkiewicz 3

Walidacja danych TINT_Lab_9, Zofia Kruczkiewicz 4

1. Pierwszy sposób przy wprowadzaniu danych (str. 6,9 wykład 7) zastosowanie walidatora LongRangeValidator Plik dodaj_produkt2.xhtml <h:outputlabel value="#{bundle['dodaj_produkt2.promocja']}" for="promocja" /> <h:inputtext id="promocja" title="#{bundle['dodaj_produkt2.promocja1']}" value="#{managed_produkt.promocja}" required="true" requiredmessage="#{bundle['dodaj_produkt2.blad_promocja']}" > <f:converter converterid="javax.faces.integer" /> <f:validatelongrange minimum="#{managed_produkt.min}" maximum="#{managed_produkt.max}"/> </h:inputtext> ================================================================================== Klasa Managed_produkt public int getmin() { } return 0; public int getmax() { } return 100; TINT_Lab_9, Zofia Kruczkiewicz 5

2. Prezentacja wyników TINT_Lab_9, Zofia Kruczkiewicz 6

3. Drugi sposób przy wprowadzaniu danych (str.11, wykład 7) zastosowanie metody do walidacji danych o następującej liście parametrów: (FacesContext context, UIComponent tovalidate, Object value) do obsługi atrybutu validator znacznika do wprowadzania danych. Plik dodaj_produkt2.xhtml <h:outputlabel value="#{bundle['dodaj_produkt2.promocja']}" for="promocja" /> <h:inputtext id="promocja" title="#{bundle['dodaj_produkt2.promocja1']}" value="#{managed_produkt.promocja}" required="true" requiredmessage="#{bundle['dodaj_produkt2.blad_promocja']}" validator="#{managed_produkt.zakrespromocji}"> <f:converter converterid="javax.faces.integer" /> </h:inputtext> TINT_Lab_9, Zofia Kruczkiewicz 7

4. Drugi sposób przy wprowadzaniu danych definicja metody do walidacji danych o następującej liście parametrów: (FacesContext context, UIComponent tovalidate, Object value) Klasa Managed_produkt (należy uzupełnić importy klas przez wykorzystanie pozycji Fix Imports) package warstwa_internetowa; import java.util.date; import javax.ejb.ejb; import javax.inject.named; import javax.enterprise.context.requestscoped; import javax.faces.application.facesmessage; import javax.faces.component.uicomponent; import javax.faces.component.uiinput; import javax.faces.context.facescontext; import javax.faces.convert.numberconverter; import javax.faces.event.abortprocessingexception; import javax.faces.event.actionevent; import javax.faces.event.actionlistener; import javax.faces.model.datamodel; import javax.faces.model.listdatamodel; import pomoc.zmiana_danych; import warstwa_biznesowa.fasada_warstwy_biznesowej; @Named(value = "managed_produkt") @RequestScoped public class Managed_produkt implements ActionListener{ /* */ public void zakrespromocji(facescontext context, UIComponent tovalidate, Object value) { stan = 1; int input =((Long) value).intvalue(); if (input < getmin() input > getmax()) { ((UIInput) tovalidate).setvalid(false); FacesMessage message = new FacesMessage("Dane poza zakresem"); context.addmessage(tovalidate.getclientid(context), message); stan = 0; } } 8

5 Prezentacja wyników 6. Zadanie do wykonania: Zastosować jeden z wybranych sposobów walidacji do pola cena TINT_Lab_9, Zofia Kruczkiewicz 9