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

Slides:



Advertisements
Podobne prezentacje
Java dla studentów II roku Wydziału Fizyki PW Przemysław Duda, 2012
Advertisements

Programowanie obiektowe
Programowanie obiektowe
1 Dzisiejszy wykład Klasa string wersja prosta wersja ze zliczaniem odwołań Wyjątki Specyfikator volatile.
Programowanie obiektowe PO PO - LAB 3 Wojciech Pieprzyca.
Sposoby implementacji asocjacji
Dziedziczenie wieloaspektowe
Java applet (c.d.) Nguyen Hung Son Uniwersytet Warszawski.
Nguyen Hung Son Uniwersytet Warszawski
OOPC++ - wstêp, klasy1 Klasy Do struktury można dołączyć operacje działające na jej polach. struct date { int day, month, year; void set (int d, int m,
RMI I RMI-IIOP Wprowadzenie Co to jest RMI?
Model – View - Controler
Doskonalenie zarządzania usługami publicznymi i rozwojem w jednostkach samorządu lokalnego Projekt współfinansowany ze środków Unii Europejskiej w ramach.
Widoki.
Hibernate Klasy trwałe
Programowanie sieciowe w Javie
Gniazda komunikacji sieciowej w języku Java
Wzorce projektowe w J2EE
Czytanie, pisanie i rysowanie – cd.. Jeszcze jeden strumyk PrintStream działa jak PrintWriter, ale: Używa domyślnego (systemowego) kodowania Nie wyrzuca.
Czytanie, pisanie i rysowanie (czyli klasa I szkoły podstawowej)
181 JAVA – JSP Java EE training: JAVA SERVER PAGES PODSTAWY.

142 JAVA – sterowanie i wątki public class A20 extends javax.swing.JApplet implements ActionListener { private int licznik = 0; private JTextField t =
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 DisplayTag. Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu.
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.
Spring podstawy.
Hibernate uzupełnienie
Projektowanie warstwy serwera Wprowadzenie. Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu.
Technologia JSP.
Projekt Z kulturą na plus Nr POKL /11 Projekt Z kulturą na plus Nr POKL /11 Projekt współfinansowany przez Unię Europejską
Program Rozwojowy dla Technikum nr 3 w Zespole Szkół Łączności w Gliwicach KANA Gliwice Projekt współfinansowany przez Unię Europejską z Europejskiego.
Klasy w C++. Deklaracja klasy class NazwaTwojejKlasy { //w tym miejscu piszemy definicje typów, //zmienne i funkcje jakie mają należeć do klasy. }; //tutaj.
Programowanie obiektowe III rok EiT
Integracja aplikacji Wykład 2
Java 3 MPDI Programowanie obiektowe W7. import java.io.*; public class X { // kontrukcja throws – określenie jakie wyjątki może dana metoda // sygnalizować
Podstawy inżynierii oprogramowania Zofia Kruczkiewicz
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 dr inż. Jerzy Kotowski Wykład IX.
Java – coś na temat Klas Piotr Rosik
Seminarium problemowe
PIO 2_2, Zofia Kruczkiewicz1 Wykład 2 – część druga Iteracyjno-rozwojowy cykl oprogramowania 2.
1 Strumienie Hierarchie klas strumieniowych, strumienie bajtowe - klasy InputStream i OutputStream i ich metody, klasa File, strumienie plikowe, strumienie.
Programowanie sieciowe w Javie
OCPJP Inner classes.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Programowanie strukturalne i obiektowe C++ Przeładowanie operatorów Robert Nowak.
DOM Ewa Dukała Piotr Muszyński. DOM DocumentBuilder Factory Document Builder XML Data object obiectobject DocumentDOM.
Programowanie obiektowe Wykład 9 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/15 Dariusz Wardowski.
Sabre academy Wstęp do Angular.js I Spring Boot
Model współbieżności w Javie autor: Grzegorz Szuba.
Odwzorowania relacyjno-obiektowe Hibernate preselekcja.
Elementy JavaServer Pages. Dyrektywy JSP  Elementy dyrektyw używane są do określania tej informacji o stronie, która pozostaje bez zmiany między żądaniami.
PIO 3_2, Zofia Kruczkiewicz1 Wykład 3 – część druga Iteracyjno-rozwojowy cykl oprogramowania 3.
do programowania obiektowego w języku Groovy
Języki i technologie wytwarzania stron WWW Autor: Michał Walkowski Referat.
Refaktoryzacja „Any fool can write a code that computer understands. Good programers write code that human can understand” – Martin Fowler.
InMoST, Java – przykładowa aplikacja Bartosz.Michalik
(według:
Dynamics 365 CE i język TypeScript
Iteracyjno-rozwojowy cykl oprogramowania 3
Wykład 1-część druga Wstęp do inżynierii oprogramowania.
Tworzenie wątków w Javie
Zapis prezentacji:

Projektowanie warstwy serwera Znaczniki jsp

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 2 Klasa definiująca (I) javax.servlet.jsp.tagext.Tag TagSupport BodyTagSupport

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 3 Klasa definiująca (II) javax.servlet.jsp.tagext.TagSupport org.springframework.web.servlet.tags.RequestContextAwareTag org.springframework.web.servlet.tags.HtmlEscapingAwareTag org.springframework.web.servlet.tags.form.AbstractFormTag org.springframework.web.servlet.tags.form. AbstractDataBoundFormElementTag org.springframework.web.servlet.tags.form.AbstractHtmlElementTag org.springframework.web.servlet.tags.form. AbstractHtmlInputElementTag org.springframework.web.servlet.tags.form.InputTag

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 4 Znaczniki - metody int doEndTag() int doStartTag() int doAfterBody() BodyContent getBodyContent()

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 5 Najprostszy przykład public class PrzykladTag extends TagSupport { public int doStartTag() { JspWriter out = pageContext.getOut(); out.print(Przykladowy tag"); return(SKIP_BODY); }

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 6 Zastosowanie znacznika...

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 7 Tagi z atrybutami public void setAttribute1(String value1) {.... }

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 8 ActionTag (I) public class ActionTag extends TagSupport { private String label; private String option; private String icon; public int doEndTag() throws JspException { return EVAL_PAGE; }....

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 9 ActionTag (II) public int doStartTag() throws JspException { JspWriter out = pageContext.getOut(); out.print("<a class=\"option\); out.print("onclick=\"return submitOption('"); out.print(option); out.print("');\"><img alt=\"\" src=\""); out.print(icon); out.print("\">");...

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 10 ActionTag (III).... out.print(label); out.println(" "); return SKIP_BODY; }

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 11 Tag z ciałem (I) BodyContent: JspWriter getEnclosingWriter() Reader getReader() String getString()

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 12 Tag z ciałem (II) EVAL_BODY_INCLUDE - ponowne przetwarzanie treści tagu SKIP_BODY – zakończenie przetwarzania

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 13 Tag z ciałem - przykład (I) public class FiltrTag extends BodyTagSupport { public int doAfterBody() { BodyContent body = getBodyContent(); String filteredBody = ServletUtilities.filter(body.getString()); JspWriter out = body.getEnclosingWriter(); out.print(filteredBody); return(SKIP_BODY); }

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 14 Button (I) public class ButtonTag extends BodyTagSupport { private String name; private String value; private String type; private Boolean disabled;

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 15 Button (II) public int doEndTag() throws JspException { JspWriter out = pageContext.getOut(); out.print(" "); return EVAL_PAGE; }

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 16 Button (II) public int doStartTag() throws JspException { JspWriter out = pageContext.getOut(); out.print("<button"); if (StringUtils.hasText(value)) { out.print(" value=\""); out.print(value); out.print('"'); }

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 17 Button (III) if (Boolean.TRUE.equals(disabled)) out.print(" disabled=\"disabled\""); out.print(">"); return EVAL_BODY_INCLUDE; }

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 18 Tagi zagnieżdżone (I) public class DrugiTag extends BodyTagSupport { public int doStartTag() throws JspTagException { PierwszyTag parent = (PierwszyTag) findAncestorWithClass(this, PierwszyTag.class);....

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 19 Tagi zagnieżdżone (II) if (parent == null) { throw new JspTagException("nesting error"); } else {... } return(EVAL_BODY_TAG); }

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 20 InputTag (I) public class MyInputTag extends AbstractHtmlInputElementTag { public static final String SIZE_ATTRIBUTE = "size"; public static final String MAXLENGTH_ATTRIBUTE = "maxlength"; public static final String ALT_ATTRIBUTE = "alt"; public static final String ONSELECT_ATTRIBUTE = "onselect"; public static final String READONLY_ATTRIBUTE = "readonly"; public static final String AUTOCOMPLETE_ATTRIBUTE = "autocomplete"; private String size; private String maxlength; private String alt; private String onselect; private String autocomplete;

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 21 InputTag (II) protected int writeTagContent(TagWriter tagWriter) throws JspException { tagWriter.startTag("input"); writeDefaultAttributes(tagWriter); tagWriter.writeAttribute("type", getType()); writeOptionalAttribute(tagWriter, "onkeypress", "return filterKey('[\\\\d\\\\s\\\\,\\\\-]', event)"); writeValue(tagWriter); tagWriter.closeTag(); return EVAL_PAGE; }

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 22 InputTag (III) protected void writeValue(TagWriter tagWriter) throws JspException { tagWriter.writeAttribute("value", getDisplayString(getBoundValue(), getPropertyEditor())); } protected String getType() { return "text"; }

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 23 InputTag (disabled) (I) protected boolean isDisabled() throws JspException { String dis = (String) evaluate(DISABLED_ATTRIBUTE, getDisabled()); Boolean canEdit = (Boolean) pageContext.getSession().getAttribute(canEdit); if ( canEdit != null && canEdit == false) return true;.....

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 24 InputTag (disabled) (II) if (dis == null ) { Set allowedFields = (Set ) request.getAttribute(allowed); if (allowedFields != null) { if (!allowedFields.contains(getNestedPath()+ getPath())) return true; } return "true".equals(dis); }

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 25 Tag - konfiguracja (web.xml) /WEB-INF/mytags.tld

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 26 Tag - konfiguracja (I) mytags.tld mytags 2.0 mytags

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 27 Tag - konfiguracja (II) przyklad dmcs.tags.PrzykladTag Tag przykładowy JSP atrybut1 true

Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 28 Tag - konfiguracja (III) Icon option action tags.ActionTag empty label false true