Praxisbuch Wicket. Professionelle Web-2.0-Anwendungen entwickeln. von Michael Mosmann. 1. Auflage. Hanser München 2009



Ähnliche Dokumente
WICKET PROFESSIONELLE WEB-2.0- ANWENDUNGEN ENTWICKELN PRAXISBUCH

PRAXISBUCH WICKET PROFESSIONELLE WEB-2.0- ANWENDUNGEN ENTWICKELN

Webseiten entwickeln mit ASP.NET

Business Communication Architecture Blueprint

TYPO3 4.3 für Webautoren

Inhaltsverzeichnis. Apps für Android entwickeln

Content Management mit Joomla! 1.7 für Kids Hanke

Bernd Müller. JavaServer Faces 2.0. Ein Arbeitsbuch für die Praxis ISBN: Weitere Informationen oder Bestellungen unter

Mambo - mit Joomla! Das Open Source-CMS einsetzen und erweitern. von Tobias Hauser, Christian Wenz. 1. Auflage. Hanser München 2005

CATIA V5. Volumenmodellierung, Zeichnungen. von Werner Koehldorfer. 1. Auflage

Gradle. Ein kompakter Einstieg in das moderne Build-Management-System ---> Mit einem Geleitwort von Hans Dockter, Erfinder von Gradle

Geschäftsprozessmanagement in der Praxis

Enterprise Architecture Management - einfach und effektiv

Graphen in Apex von Thomas Hernando.

ASP.NET. von Patrick A. Lorenz. 1. Auflage. ASP.NET Lorenz schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG. Hanser München 2002

Microsoft Excel 2010 Pivot-Tabellen - Das Praxisbuch

Sachwortverzeichnis

Geschäftsprozessmanagement mit Visio, ViFlow und MS Project

PRAXISBUCH WICKET PROFESSIONELLE WEB-2.0- ANWENDUNGEN ENTWICKELN

Microsoft Windows SharePoint Services v3 - Das offizielle Trainingsbuch

Konstruktionsbegleitende Berechnung mit ANSYS DesignSpace

Inhaltsverzeichnis VII

Praxishandbuch BPMN. Incl. BPMN 2.0. von Jakob Freund, Bernd Rücker, Thomas Henninger. 1. Auflage. Hanser München 2010

Software modular bauen

Inhaltsverzeichnis. Tobias Hauser, Christian Wenz. Joomla! 1.5. Das Open Source-CMS einsetzen und erweitern ISBN:

Mobile Games. Spieleprogrammierung für Handys mit Java ME. von Thomas Lucka. 1. Auflage. Hanser München 2008

Google Web Toolkit. Ajax-Anwendungen einfach und schnell entwickeln. von Hans Sowa, Wolfgang Radinger, Martin Marinschek. 1.

HTML Formulare. Benutzerschnittstelle für interaktive Webseiten

Projektmanagement mit Microsoft Project 2010

Ruby on Rails. Einstieg in die effiziente Webentwicklung -Grundlagen und fortgeschrittene Konzepte -Ajax / Web 2.0 -Einführung in Ruby

Entwicklung mit Arbortext Editor 6.1

GITS Steckbriefe Tutorial

Leichtgewichtige Web 2.0-Architektur für komplexe Business-Anwendungen Nicolas Moser PRODYNA AG

DAS EINSTEIGERSEMINAR. Drupal 6. von Thorsten P Luhm. 1. Auflage. Drupal 6 Luhm schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG

Agiles Projekmanagement mit Scrum

Inhaltsverzeichnis. Holger Schrödl. Business Intelligence mit Microsoft SQL Server BI-Projekte erfolgreich umsetzen ISBN:

VORSCHAUBILDER NEU GENERIEREN FÜR SHOPWARE 4.0

Anleitung zum erstellen einer PDF-Datei aus Microsoft Word

Professionelles Direkt- und Dialogmarketing per

Agile Softwareentwicklung

Webseiten und Web-Apps grafisch gestalten mit HTML5 Canvas ohne Flash und sonstige Tools

Handreichung zur Diskussions- und Dokumentenplattform

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee Berlin Tel.:+49(0) Fax.:+49(0)

Joomla! und Mambo. Open Source-CMS einsetzen und erweitern. von Tobias Hauser, Christian Wenz. 2., aktualisierte Auflage. Hanser München 2006

Web Engineering.

Layoutmodelle. Steffen Schwientek Große Klostergasse Friedberg schwientek@web.de Web :schlaukopp.org

API FÜR DASWETTER.COM - 1 -

Projektmanagement mit Microsoft Project 2007

Inhaltsverzeichnis. Christian Wischki. ITIL V2, ITIL V3 und ISO/IEC Gegenüberstellung und Praxisleitfaden für die Einführung oder den Umstieg

Microsoft Outlook 2010 auf einen Blick

Video-Tutorial: Einrichten einer Facebook Landing Page in der Facebook Chronik (Timeline)

Aufgaben HTML Formulare. Prof. Dr. rer. nat. Claus Brell, Wirtschaftsinformatik, Statistik

Joomla! 1.5. Das Open Source-CMS einsetzen und erweitern. von Tobias Hauser, Christian Wenz. 3., überarbeitete Auflage. Hanser München 2008

Coaching-Grundlagen für Führungskräfte

IT-Servicemanagement mit ITIL V3

Magento. Extension-Guide. Extension: Bankeinzug/Lastschrift. (Debit Payment) 1. Auflage. Dezember Magento Extension-Guide

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Wie richten Sie Ihr Web Paket bei Netpage24 ein

Lean Startup. Schnell, risikolos und erfolgreich Unternehmen gründen. von Eric Ries. 1. Auflage FinanzBuch 2012

Inhaltsverzeichnis. Daniel Liebhart, Guido Schmutz, Marcel Lattmann, Markus Heinisch, Michael Könings, Mischa Kölliker, Perry Pakull, Peter Welkenbach

AJAX Implementierung mit Joomla!

MOC Entwicklung von ASP.NET MVC 4 Webapplikationen

Print2CAD 2017, 8th Generation. Netzwerkversionen

Praxisbuch BI Reporting

Service-Handbuch. SH_Checkup_Applets.doc. Version: 1.02 Aktualisiert: durch: RLo Seite 1 von 6

Qualitätsmanagement nach ISO/TS 16949

WPM - Wertstromorientiertes Prozessmanagement

Eignungsnachweis von Messsystemen

Installationsbeschreibung Flottenmanager 7.1

Kurzeinführung Excel2App. Version 1.0.0

Das Projektmanagement-Office

Facebook Kurs Online Kurs Apps Entwicklungen für Facebook

Six Sigma umsetzen. Die neue Qualitätsstrategie für Unternehmen. von Kjell Magnusson, Dag Kroslid, Bo Bergman. 1. Auflage. Hanser München 2001

Handbuch Offline-Abgleich

Informations- und Kommunikationsinstitut der Landeshauptstadt Saarbrücken. Upload- / Download-Arbeitsbereich

Kurzinformation Zugang zur NOVA für dezentrale Administratoren

CMS-Manual Bilder hochladen und einfügen

Individuelle Erweiterung des generierten Codes. 16. Januar 2013

Wie kann ich in der Backstage-Ansicht eigene Dokumentationen einbinden?

Robert R. Agular Thomas Kobert. 5. Auflage HTML. Inklusive CD-ROM

Inhalt. Vorbemerkungen... 1

Installation, Einrichtung, Nutzung von PHOCA DOWNLOAD. Download-Links... 2

Seminar DWMX DW Session 015

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an?

Einstieg in Business Intelligence mit Microsoft SharePoint 2010

Inhaltsverzeichnis. Jakob Freund, Bernd Rücker. Praxisbuch BPMN 2.0 ISBN: Weitere Informationen oder Bestellungen unter

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Webseitenintegration. Dokumentation. v1.0

Inhaltsverzeichnis. TeiM. V E E.l E.2 E.3 E.4. Vorwort von Stefan Tilkov Einleitung Zielgruppe Über dieses Buch Konventionen Dank

Netzwerkversion PVG.view

Programmieren lernen in ASP.NET mit C#

Enterprise PHP 5. Serviceorientierte und webbasierte Anwendungen für den Unternehmenseinsatz. von Johann-Peter Hartmann, Björn Schotte. 1.

i i apitel apitel K K Inhalt Inhalt

Ratgeber zum Spenden sammeln

Arbeiten mit Workflows Installationsleitfaden Zur Installation des d3 Workflows

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes

Kurzanleitung GigaMove

PATIENTEN GUIDE. Verwaltung & Organisation. April Seite 1/8

Mind Mapping am PC. für Präsentationen, Vorträge, Selbstmanagement. von Isolde Kommer, Helmut Reinke. 1. Auflage. Hanser München 1999

SmartSummaryWebpart Installation

Transkript:

Praxisbuch Wicket Professionelle Web-2.0-Anwendungen entwickeln von Michael Mosmann 1. Auflage Hanser München 2009 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 41909 4 Zu Leseprobe schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG

sverzeichnis Michael Mosmann Praxisbuch Wicket Professionelle Web-2.0-Anwendungen entwickeln ISBN: 978-3-446-41909-4 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-41909-4 sowie im Buchhandel. Carl Hanser Verlag, München

Vorwort...XIII 1 Einleitung... 1 1.1 Warum Wicket?... 3 1.1.1 Einfach, Konsistent, Offensichtlich... 4 1.1.2 Wiederverwendbarkeit... 4 1.1.3 Sauber getrennt... 5 1.1.4 Sicher... 5 1.1.5 Effizient und skalierbar... 6 1.1.6 Komplett... 6 1.1.7 Eine gute Wahl... 6 1.2 Vorbereitung und Installation... 7 1.2.1 Java, Maven und Eclipse... 7 1.2.2 Versionskontrolle mit Subversion... 7 1.3 Grundlagen einer Webanwendung... 8 1.3.1 Anwendungsschichten... 8 1.3.2 Verzeichnis und Paketstruktur... 11 1.3.3 Unit-Tests... 12 2 Aufsetzen der Teilprojekte... 15 2.1 Nomenklatur der Teilprojekte... 15 2.2 Aufsetzen der Teilprojekte... 16 2.2.1 Projektbasis ParentPom... 16 2.2.2 Teilprojekt Base... 20 2.2.3 Teilprojekte Datenbankkonfiguration... 20 2.2.4 Teilprojekt Persistenz... 22 2.2.5 Teilprojekt Applikationsschicht... 24 2.2.6 Teilprojekt Webapp... 24 2.2.7 Teilprojekt ParentPom Abschluss... 26 2.3 Erstellen von Eclipse-Projektdateien... 27 VII

3 Mit Leben füllen... 29 3.1 Konfiguration mit Spring...29 3.2 Datenbankkonfiguration...30 3.2.1 Teilprojekt dbconfig...30 3.2.2 Teilprojekt dbconfig-test...31 3.2.3 Teilprojekt dbconfig-schema-update...31 3.2.4 Schemagenerierung mit Hibernate...32 3.3 Persistenz...33 3.3.1 Datenbankzugriff Allgemeine Schnittstellendefinition...33 3.3.2 Datenbankzugriff Hilfsklassen...34 3.3.3 Datenbankzugriff User...35 3.3.4 Datenbankzugriff Konfiguration...37 3.3.5 Persistenz-Tests...38 3.3.6 Schema-Update...40 3.4 Anwendungsschicht...41 3.5 Präsentationsschicht...41 3.5.1 Hilfsklasse für Maven-Projekte...41 3.5.2 Wicket Web Application...42 3.5.3 Servlet-Konfiguration...44 3.5.4 Spring-Konfiguration...46 3.5.5 Start der Anwendung...46 4 Die Wicket-Architektur... 49 4.1 Wicket und das HTTP-Protokoll...49 4.2 Struktur...49 4.2.1 WebApplication...50 4.2.2 Session...50 4.2.3 PageMap...50 4.2.4 Page...50 4.2.5 PageStore...51 4.2.6 Component...51 4.3 Request-Behandlung...51 4.3.1 Komponentenphasen...52 4.3.2 Nebenläufigkeit Threads...52 4.4 Komponenten, Modelle, Markup...53 4.4.1 Komponenten...53 4.4.2 Modelle...53 4.4.3 Markup...53 5 Modelle... 55 5.1 Konverter...55 5.2 Einfache Modelle...57 5.2.1 Modelle verändern...58 5.3 Modell-Hilfsklassen...60 5.4 Modelle und Serialisierung...61 5.4.1 DetachableModel Dynamische Modelldaten...61 VIII

5.4.2 Kaskadierung von Modellen... 62 5.4.3 Automatische Kaskadierung von Modellen... 65 5.4.4 Datenbankzugriffsmodelle... 66 5.5 Komplexe Modellklassen... 69 5.5.1 5.5.2 Zugriff auf Bean-Properties... 69 Die Klasse PropertyModel... 72 5.5.3 CompoundPropertyModel... 74 5.6 Ausgelagerte Informationen... 76 5.6.1 Einfacher Zugriff auf Ressourcen... 76 5.6.2 ResourceModel... 76 5.6.3 StringResourceModel... 78 6 Komponenten... 81 6.1 Basisklasse Component... 81 6.1.1 Komponentenbaum... 81 6.1.2 Darstellungsphasen... 83 6.1.3 Page, Session und Application... 84 6.1.4 Komponentenpfad... 84 6.1.5 Modelle... 84 6.1.6 Feedback... 85 6.2 Grundlagen der Vererbung... 85 6.2.1 Eine Seite mit eigenen Komponenten... 85 6.2.2 Vererbung für Fortgeschrittene... 91 6.3 Style, Locale und Variation... 94 6.3.1 Markup-Variationen... 94 6.4 Sichtbarkeit... 99 6.4.1 wicket:enclosure... 100 6.4.2 Empfehlung zur Anwendung... 101 6.5 Ajax... 102 6.5.1 Ajax-Events... 103 6.5.2 Einfache Event-Behandlung... 104 6.5.3 Automatische Event-Behandlung... 105 7 Basiskomponenten... 109 7.1 Gruppierende Komponenten... 109 7.1.1 7.1.2 Seiten... 109 Panel... 117 7.1.3 Fragment... 119 7.1.4 Border... 120 7.1.5 ComponentBorder... 125 7.1.6 WebMarkupContainer... 126 7.2 Inhaltselemente... 127 7.2.1 Label und MultiLineLabel... 127 7.2.2 Lokaler Konverter... 129 7.2.3 XML... 130 7.2.4 Das wicket:message-tag... 131 IX

7.2.5 Image...132 7.3 Links...137 7.3.1 Von A nach B...137 7.3.2 Ajax und Links...138 7.3.3 7.3.4 Link-Tricks...140 Externe Links...141 7.3.5 Popups...141 7.3.6 ResourceLink...143 7.3.7 Formularlinks...144 7.4 Behavior...144 7.4.1 Darf es etwas JavaScript sein?...144 7.4.2 Attribute anpassen...145 7.4.3 Attribute erweitern...147 7.4.4 Ajax und Formulare...148 8 Listen und Tabellen... 149 8.1 Darstellung von Listen...149 8.1.1 RepeatingView...149 8.1.2 RefreshingView...150 8.1.3 ListView...152 8.1.4 PropertyListView...153 8.1.5 ColumnListView...154 8.2 DataProvider...156 8.2.1 DataView...156 8.2.2 GridView...158 8.2.3 DataGridView...159 8.2.4 DataTable...161 8.2.5 DefaultDataTable...162 9 Formulare... 169 9.1 Voraussetzungen...169 9.2 Feedback...170 9.3 Basisklasse für alle Beispiele...171 9.4 Formulare absenden...172 9.4.1 Absenden mit Submit-Button...172 9.4.2 9.4.3 Button-Komponente...173 Submit per Ajax...174 9.4.4 POST und GET...175 9.5 Textfelder...176 9.5.1 Typangabe...178 9.5.2 Automatische Typermittlung...179 9.6 Label...181 9.7 CheckBox...182 9.8 RadioButton...185 9.9 Auswahlfelder...186 9.9.1 Select...186 X

9.9.2 DropDownChoice... 188 9.9.3 ListMultipleChoice... 190 9.10 Dateien hochladen... 192 9.10.1 FileUpload... 192 9.10.2 MultiFileUpload... 194 9.11 Gültigkeitsprüfung... 195 9.11.1 StringValidator... 196 9.11.2 Minimum und Maximum... 197 9.11.3 E-Mail... 197 9.11.4 URL... 199 9.11.5 Eigene Validatoren... 199 9.12 FormValidator... 201 9.12.1 Passwortprüfung... 201 9.12.2 Eigene Prüfung... 203 9.13 Ajax... 205 9.13.1 AjaxFormSubmitBehavior... 205 9.13.2 AjaxFormValidatingBehavior... 207 9.13.3 AjaxComponentUpdatingBehavior... 207 9.13.4 OnChangeBehavior... 209 9.13.5 AutoCompleteTextField... 210 9.14 AjaxEditableLabel... 212 9.15 Erweitertes Feedback... 214 9.15.1 Feedback zum Formular... 214 9.15.2 Feedback für die Komponente... 215 9.15.3 Feedback als Rahmen... 216 9.15.4 Feedback als Indikator... 217 9.15.5 Feedback per CSS... 218 9.16 Generierte Formulare... 220 9.17 Verschachtelte Formulare... 222 10 Sessions und Security... 225 10.1 Einfache Variante... 225 10.1.1 Eine eigene Session-Klasse... 225 10.1.2 Geschützte Seiten... 226 10.1.3 Strategie... 226 10.1.4 WebApplication... 227 10.1.5 Seiten... 228 10.2 Marker an Komponenten... 231 10.3 Elemente ausblenden... 233 11 Wicket in der Praxis... 235 11.1 Die Integration von Spring... 235 11.2 Navigation... 237 11.3 CSS einbinden... 244 11.4 Eigene Basiskomponenten... 250 XI

11.5 Komponententausch...253 11.5.1 AjaxFallbackConfirmLink...254 11.5.2 Wizard...256 11.6 Suchmaschinenoptimierung...258 11.6.1 Pfad für BookmarkablePages...258 11.6.2 SessionTimeoutPage...262 11.6.3 SEO-Links...264 11.6.4 Servlet-Filter...268 11.6.5 Tracking mit Google Analytics...271 11.7 Ressourcen...274 11.7.1 Dynamisch erzeugte Grafiken...274 11.7.2 Automatisch generierte Thumbnails...276 11.7.3 Download durch Formular...277 11.7.4 Shared Resources...278 11.7.5 RSS-Feed...280 11.8 Links auf Seiten und Ressourcen...282 11.9 Optimierungen...284 11.9.1 Applikation...284 11.9.2 Konverter...284 11.9.3 Debug...284 11.9.4 Ressource...285 12 Fehlersuche... 287 12.1 Häufige Fehlerquellen...287 12.1.1 Komponenten fehlen...287 12.1.2 Komponente ist bereits vorhanden...287 12.1.3 Ajax funktioniert nicht...288 12.2 Unit-Tests...288 13 Anfang oder Ende?... 293 Register... 295 XII