Projektowanie warstwy serwera DisplayTag. Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu.

Slides:



Advertisements
Podobne prezentacje
I część 1.
Advertisements

Wskaźniki repetytorium Wskaźniki int Y = 1, X = 2; X = 5; int *p = &X; Y X p 4 4 p = &Y; *p = 4; 5.
Klasy i obiekty.
Hibernate zapytania.
Zaawansowane metody programowania – Wykład V
Generics w .NET 2.0 Łukasz Rzeszot.
Wprowadzenie do języka skryptowego PHP – cz. 2
Bezpieczeństwo wyjątków w C++: OpenGL
Dziel – Rządź - Złącz.
Marcin Pamuła Mateusz Stefek
Doskonalenie zarządzania usługami publicznymi i rozwojem w jednostkach samorządu lokalnego Projekt współfinansowany ze środków Unii Europejskiej w ramach.
Widoki.
Jacek Pospychała Pospychała Eclipse Summer School 2007Eclipse Summer School 2007.
Hibernate Klasy trwałe
Obiektowe metody projektowania systemów Command Pattern.
Czytanie, pisanie i rysowanie – cd.. Jeszcze jeden strumyk PrintStream działa jak PrintWriter, ale: Używa domyślnego (systemowego) kodowania Nie wyrzuca.
1 Języki i techniki programowania prowadzący dr Grzegorz Filipczyk.
181 JAVA – JSP Java EE training: JAVA SERVER PAGES PODSTAWY.

Projektowanie warstwy serwera Programowanie aspektowe.
Projektowanie warstwy serwera Współpraca z XML. Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu.
Odwzorowania relacyjno-obiektowe Hibernate Klasy trwałe.
Odwzorowania relacyjno-obiektowe Hibernate zapytania.
Spring MVC.
Projektowanie warstwy serwera Acegi. Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego.
Projektowanie warstwy serwera Spring MVC - uzupełnienie.
Hibernate relacje.
Projektowanie warstwy serwera Znaczniki jsp. Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu.
Hibernate uzupełnienie
Projektowanie warstwy serwera Wprowadzenie. Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu.
Wprowadzenie do JSP Copyright © Politecnico di Milano September 2003 Translation: Kamil Żyła, Politechnika Lubelska.
Test Doubles Adam Gabryś , v1.1,
Podstawy C# Grupa .NET PO.
Programowanie urządzeń mobilnych – wykład IV
PIO 3_2, Zofia Kruczkiewicz1 Wykład 3 – część druga Iteracyjno-rozwojowy cykl oprogramowania 3.
W większości języków programowania biblioteki wejścia/wyjścia ukrywają szczegóły obsługi poszczególnych mediów pod abstrakcją strumienia (ang. stream).
Programowanie obiektowe III rok EiT
Algorytmy rekurencyjne - przykład
Programowanie obiektowe – zastosowanie języka Java SE
Seminarium problemowe
Programowanie obiektowe Wykład 3 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21 Dariusz Wardowski.
PIO 2_2, Zofia Kruczkiewicz1 Wykład 2 – część druga Iteracyjno-rozwojowy cykl oprogramowania 2.
Tworzenie Aplikacji Internetowych
Tworzenie Aplikacji Internetowych dr Wojciech M. Gańcza 8.
Wykład 3 Programowanie obiektowe. Dokument HTML składa się z obiektów (standardowych i utworzonych przez użytkownika). Głównym obiektem jest document,
Wstęp - Prosta aplikacja internetowa w technologii Java EE 5 Programowanie komponentowe 1.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Wydział Elektroniki Kierunek: AiR Zaawansowane metody programowania Wykład 5.
Technologie internetowe Wykład 5 Wprowadzenie do skrytpów serwerowych.
PROGRAMOWANIE W JAVA Informatyka Stosowana – ROK II / III Laboratoria mgr inż. Krzysztof Bzowski.
Hibernate Podstawy.
Odwzorowania relacyjno-obiektowe Hibernate preselekcja.
Odwzorowania relacyjno-obiektowe Hibernate Podstawy.
Partnerstwo dla Przyszłości 1 Lekcja 27 Klasy i obiekty.
Typy i metody sparametryzowane (generics) (c) Krzysztof Barteczko 2014.
do programowania obiektowego w języku Groovy
1 Kolekcje i tablice © Krzysztof Barteczko, PJWSTK 2009.
InMoST, Java – przykładowa aplikacja Bartosz.Michalik
PHP (wstęp) Personal Home Page Tools (PHP Tools)
Przypomnienie wiadomości – kilka zadań
Wątki, programowanie współbieżne
(według:
Realizacja aplikacji internetowych
Programowanie obiektowe II
Programowanie Obiektowe – Wykład 2
Klasy wewnętrzne. Praktyka użycia interfejsów i klas wewnętrznych
Kurs języka C++ – wykład 13 ( )
Iteracyjno-rozwojowy cykl oprogramowania 3
Wstęp - Prosta aplikacja internetowa w technologii Java EE 5
Dane, zmienne, instrukcje
Zapis prezentacji:

Projektowanie warstwy serwera DisplayTag

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 2 Plan wykładu Prezentacja tablicy na stronie jsp Konfiguracja biblioteki displayTag Dekoratory Współpraca z hibernate

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 3 Wystawianie danych List, PaginatedList List list = uzytkownikService.loadAll()); model.addAttribute("uzytkownikList", list); List list = uzytkownikService.findByCriteria(preselection); PartialList partialList = new PartialList (preselection, list); model.addAttribute("uzytkownikList", partialList);

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 4 Wyświetlanie (I) cokolwiek

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 5 Wyświetlanie (II)

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 6 Liczba rekordów na stronie

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 7 Sortowanie sort = page

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 8 Podsumowanie

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 9 Nagłówek Nagłówek tabeli

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 10 Eksport

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 11 Odwołanie do wierszy tabeli

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 12 Przekierowanie "> zmień

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 13 Lista z wyborem wielokrotnym String[] lista;

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 14 Lista z pojedynczym wyborem

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 15 Ustawianie parametrów lokalnych

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 16 Ustawienie parametrów (I) basic.msg.empty_list=Nie odnaleziono niczego do wyświetlenia. error.msg.invalid_page=invalid page paging.banner.no_items_found= Nie znaleziono {0}. paging.banner.one_item_found= Znaleziono jeden {0}. paging.banner.all_items_found= Znaleziono {0} {1}, wyświetlono wszystkie. paging.banner.some_items_found= Znaleziono {0} {1}, wyświetlono od {2} do {3}.

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 17 Ustawienie parametrów (II) paging.banner.full= [ Pierwszy / Poprzedni ] {0} [ Następny / Ostatni ] paging.banner.first= [Pierwszy/Poprzedni] {0} [ Następny / Ostatni ] paging.banner.last= [ Pierwszy / Poprzedni ] {0} [Następny/Ostatni] paging.banner.item_name=obiekt paging.banner.items_name=obiekty(-\ów)

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 18 Ustawienie parametrów (III) export.excel=true export.excel.label= Excel export.excel.include_header=true export.excel.filename= list.xls

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 19 Dekorator (I) public class BooleanWrapper implements DisplaytagColumnDecorator { public Object decorate (Object columnValue, PageContext pageContext, MediaTypeEnum media) throws DecoratorException { Boolean wartosc = (Boolean) columnValue; if ( wartosc == null) return ""; if ( wartosc) return "tak"; return "nie"; }

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 20 Dekorator (II) public class XMLGregorianCalendarWrapper implements DisplaytagColumnDecorator { private static XmlGregorianCalendarEditor editor = new XmlGregorianCalendarEditor(); public Object decorate(Object columnValue, PageContext pageContext, MediaTypeEnum media) throws DecoratorException { XMLGregorianCalendar data = (XMLGregorianCalendar) columnValue; editor.setValue(data); return editor.getAsText(); }

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 21 Dekorator (III) public class DostepDecorator implements DisplaytagColumnDecorator { public Object decorate(Object columnValue, PageContext pageContext, MediaTypeEnum media) throws DecoratorException { WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(pageContext. getServletContext()); KsiazkaService ksiazkaService = ctx.getBean(KsiazkaService.class); UzytkownikService uzytkownikService = ctx.getBean(UzytkownikService.class);....

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 22 Modyfikacja widoku $(document).ready(function() { var interval = 6; $tds = $("table[class=displaytag] td"); for (var i = 4; i<$tds.length; i+=interval) { if ($tds.eq(i).text() == ("tak")) { $tds.eq(i).parent().addClass('green'); } else if ($tds.eq(i).text() == ("nie")) { $tds.eq(i).parent().addClass('red'); }} });

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 23 Współpraca z hibernate - PartialList public class PartialList implements PaginatedList private Preselection preselection; private ArrayList list; int getFullListSize(); int getObjectsPerPage(); int getPageNumber(); String getSearchId(); String getSortCriterion(); SortOrderEnum getSortDirection();

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 24 Współpraca z hibernate - strona jsp <display:table name="list" id="obiekt" excludedParams = "*" requestURI = uzytkownikList.html? > ${pozycja_rowNum}.

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 25 Współpraca z hibernate - Kontroler (I) String sort = ServletRequestUtils. getStringParameter(request, "sort,null); String dir = ServletRequestUtils. getStringParameter(request, "dir,null); int page = ServletRequestUtils. getIntParameter(request, "page", -1); if ("label".equals(sort)) sort = "nazwisko";

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 26 Współpraca z hibernate - Kontroler (II) if ( StringUtils.hasText( sort ) ) { preselection.setSortProperty(sort);` preselection.setSortAscending("asc".equals(dir)); preselection.setCurrentPage(0); preselection.setCurrentRow(-1); } if ( page >= 1 ) preselection.setCurrentPage(page - 1);

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 27 Problem z eksportem public boolean isExport(HttpServletRequest request) { int paramExport = ServletRequestUtils.getIntParameter(request, TableTagParameters.PARAMETER_EXPORTING, -1); return (paramExport != -1); }