Book description
Die Grundlagen des JavaServer-Faces-Standards werden auf einem für Einsteiger geeigneten Niveau erklärt und an einem durchgängigen Entwicklungsbeispiel erläutert. Ein Kickstart-Kapitel zeigt anhand eines kleinen Beispiels, wie einfach sich der Einstieg in JavaServer Faces (JSF) bewerkstelligen lässt. Begleitende Tipps & Tricks zeigen mögliche Probleme und deren Lösungen auf.Neben den Grundlagen und Neuerungen von JSF 2.2 werden auch Themen wie Facelets, Templating, Kompositkomponenten und die Verwendung von Ajax mit JSF praxisnah behandelt. Das Buch zeigt außerdem die Integration von JSF und CDI und stellt die Komponentenbibliothek PrimeFaces vor.
Table of contents
- 1 Einführung in JavaServer Faces
- 1.1 Kurzgeschichte der Webentwicklung
- 1.1.1 Geschichte der Webentwicklung mit Java
- 1.1.2 Entstehung von JavaServer Faces
- 1.2 JSF 2.0 und 2.1 im Überblick
- 1.3 JSF 2.2 im Überblick
- 1.4 Das Ökosystem von JavaServer Faces
- 1.5 Das erste JSF-Beispiel
- 1.5.1 Softwareumgebung
- 1.5.2 Projektstruktur mit Maven
- 1.5.3 Hello World: das erste JSF-Projekt
- 1.5.4 Starten der Anwendung mit Maven
- 1.5.5 Entwicklung mit Eclipse
- Arbeiten mit Eclipse
- Starten der Anwendung mit Eclipse
- 1.6 MyGourmet 1: Einführung anhand eines Beispiels
- 2 Die Konzepte von JavaServer Faces
- 2.1 Aufgaben der JSF-Technologie
- 2.2 JavaServer Faces in Schlagworten
- 2.3 MyGourmet 1: Schlagworte im Einsatz
- 2.4 Managed-Beans
- 2.4.1 Managed-Beans – die Grundlagen
- 2.4.2 Konfiguration von Managed-Beans
- 2.4.3 Managed-Properties
- 2.4.4 Die Rolle von Managed-Beans
- 2.5 Die Unified Expression Language
- 2.5.1 Unified-EL in MyGourmet 1
- 2.5.2 Die Unified-EL im Detail
- 2.5.3 Erweiterungen der Unified-EL in Java EE 6
- 2.6 Lebenszyklus einer HTTP-Anfrage in JSF
- 2.6.1 Ändern des Lebenszyklus – immediate-Attribut
- immediate-Attribut für Eingabekomponenten
- immediate-Attribut für Befehlskomponenten
- 2.6.2 MyGourmet 2: immediate-Attribute
- 2.7 Navigation
- 2.8 Ereignisse und Ereignisbehandlung
- 2.8.1 Value-Change-Events
- 2.8.2 Action-Events
- 2.8.3 MyGourmet 3: Ereignisse
- 2.8.4 System-Events
- 2.8.5 Phase-Events
- 2.8.6 MyGourmet 4: Phase-Listener und System-Events
- Analyse des Lebenszyklus
- 2.9 Seitendeklarationssprachen
- 2.9.1 Vorteile von Facelets gegenüber JSP
- 2.9.2 Seitendeklarationssprachen im Einsatz
- 2.10 Verwendung des ID-Attributs in JSF
- 2.11 Konvertierung
- 2.11.1 Standardkonverter
- 2.11.2 Benutzerdefinierte Konverter
- 2.11.3 MyGourmet 5:Konvertierung
- 2.12 Validierung
- 2.12.1 Bean-Validation nach JSR-303
- Benutzerdefinierte Constraints mit Bean-Validation
- 2.12.2 Standardvalidatoren
- 2.12.3 Benutzerdefinierte Validatoren
- 2.12.4 MyGourmet 6: Validierung
- 2.13 Nachrichten
- 2.14 Internationalisierung
- 2.14.1 Ermittlung des Lokalisierungscodes
- 2.14.2 Internationalisierung der JSF-Nachrichten
- Nachrichten für Bean-Validation
- 2.14.3 Internationalisierung der Anwendungstexte
- 2.14.4 MyGourmet 7: Internationalisierung
- 3 Standard-JSF-Komponenten
- 3.1 Basisfunktionen der Core-Tag-Library
- Komponenten mit f:resetValues zurücksetzen
- 3.2 Formularkomponente
- 3.3 Befehlskomponenten
- 3.4 DataTable-Komponente
- 3.4.1 Erweiterte Konzepte von h:dataTable
- 3.4.2 Styling von h:dataTable
- 3.5 Ausgabekomponenten
- 3.5.1 Textausgabekomponenten
- Tag zur Textausgabe h:outputText
- Labelausgabe-Komponente h:outputLabel
- Linkkomponente h:outputLink
- Parametrisierbares Textausgabefeld h:outputFormat
- 3.5.2 Bildausgabekomponente
- 3.6 Eingabekomponenten
- 3.6.1 Texteingabefeld h:inputText
- 3.6.2 Passworteingabefeld h:inputSecret
- 3.6.3 Mehrzeiliges Texteingabefeld h:inputTextarea
- 3.6.4 Verstecktes Eingabefeld h:inputHidden
- 3.6.5 Dateiuploadfeld h:inputFile
- 3.7 Auswahlkomponenten
- 3.7.1 Boolesche Auswahl
- 3.7.2 Einfache Auswahl
- 3.7.3 Mehrfache Auswahl
- Auswahlfeld h:selectManyCheckbox
- Listenfeld h:selectManyListbox
- Menüfeld h:selectManyMenu
- 3.7.4 Definition der Auswahlmöglichkeiten
- Einzelne Auswahlmöglichkeit mit f:selectItem
- Mehrere Auswahlmöglichkeiten mit f:selectItems
- 3.8 Panel-Komponenten
- 3.9 UIViewRoot
- 3.10 Nachrichtenkomponenten
- 3.11 Komponenten zur GET-Navigation
- 3.12 Ressourcenbezogene Komponenten
- 3.13 Verhaltens-Interfaces
- 3.14 MyGourmet 8: Standardkomponenten
- 3.15 MyGourmet 9: UIData und Detailansicht
- 4 Advanced JSF
- 4.1 Project-Stage
- 4.2 Advanced Facelets
- 4.2.1 Wiederverwendung von Inhalten mit Facelets
- 4.2.2 Tag-Bibliotheken mit Facelets erstellen
- Definition einer EL-Funktion
- Definition eines Konverter-Tags
- Definition eines Validator-Tags
- 4.2.3 MyGourmet 10: Advanced Facelets
- 4.3 Templating
- 4.3.1 Mehrstufiges Templating
- 4.3.2 Mehrere Templates pro Seite
- 4.3.3 MyGourmet 11: Templating mit Facelets
- 4.4 Bookmarks und GET-Anfragen in JSF
- 4.4.1 Navigation mit h:link und h:button
- 4.4.2 View-Parameter
- Positionierung von f:metadata
- Lebenszyklus mit View-Parametern
- 4.4.3 View-Actions
- View-Actions im Vergleich zum System-Event PreRenderViewEvent
- 4.4.4 MyGourmet 12: GET-Unterstützung
- 4.5 Die JSF-Umgebung: Faces-Context und External-Context
- 4.6 Konfiguration von JavaServer Faces
- 4.6.1 Die Webkonfigurationsdatei web.xml
- Faces-Servlet und Mapping
- Kontextparameter
- 4.6.2 Die JSF-Konfigurationsdatei – faces-config.xml
- Anwendungseinstellungen – application
- 4.6.3 Konfiguration der Unified-EL
- 5 Verwaltung von Ressourcen
- 5.1 Identifikation von Ressourcen – Teil 1
- 5.2 Ressourcen im Einsatz
- 5.3 Positionierung von Ressourcen
- 5.4 Identifikation von Ressourcen – Teil 2
- 5.5 Ressourcen in MyGourmet 12
- 5.6 Resource-Library-Contracts
- 5.6.1 Ein erstes Beispiel
- Konfiguration des Contracts-Verzeichnisses
- 5.6.2 Ressourcen aus Resource-Library-Contracts
- 5.6.3 Zuordnung von Resource-Library-Contracts
- 5.6.4 Resource-Library-Contracts in Jar-Dateien
- 5.6.5 MyGourmet 12 mit Resource-Library-Contracts
- 6 Die eigene JSF-Komponente
- 6.1 Kompositkomponenten
- 6.1.1 Eine erste Kompositkomponente
- 6.1.2 Der Bereich cc:interface
- Attribute
- Facets
- Verhaltensdefinitionen
- 6.1.3 Der Bereich cc:implementation
- 6.1.4 Ressourcen in Kompositkomponenten
- 6.1.5 Die Komponente mc:panelBox
- 6.1.6 Die Komponente mc:dataTable
- 6.1.7 Die Komponente mc:collapsiblePanel
- 6.1.8 Die Komponente mc:inputSpinner
- 6.1.9 Fallstricke in der Praxis
- Kompositkomponenten im Komponentenbaum
- Verwendung mehrerer Action-Attribute
- AuflösungdesTypsvonAttributen
- 6.2 Klassische Komponenten
- 6.2.1 Vorarbeiten: Komponentenfamilie, Komponententyp und Renderertyp definieren
- Die Wahl der Basisklasse
- Komponententyp, Komponentenfamilie und Renderertyp
- 6.2.2 Komponentenklasse schreiben
- Komponentenattribute
- State-Saving
- Komposition klassischer Komponenten
- 6.2.3 Rendererklasse schreiben
- Rendern (Encoding)
- Decodierung (Decoding)
- Rendern von Ressourcen
- 6.2.4 Registrieren der Komponenten- und der Rendererklasse
- 6.2.5 Tag-Definition schreiben
- 6.2.6 Tag-Behandlungsklasse schreiben
- 6.2.7 Tag-Bibliothek einbinden
- 6.3 Kompositkomponenten und klassische Komponenten kombinieren
- 6.4 Alternativen zur eigenen Komponente
- 6.4.1 Austausch der Rendererklasse
- 6.4.2 Austausch der Komponentenklasse
- 6.4.3 Benutzerdefinierte Komponente aus den Backing-Beans – Component-Binding
- 6.5 MyGourmet 13: Komponenten und Services
- 6.6 Die eigene Komponentenbibliothek
- 6.7 MyGourmet 13 mit Komponentenbibliothek
- 7 Ajax und JSF
- 7.1 Einführung in Ajax – »Asynchronous JavaScript And XML«
- 7.2 Ajax ab JSF 2.0
- 7.2.1 Ein erstes Beispiel mit f:ajax
- 7.2.2 f:ajax im Einsatz
- 7.2.3 Ereignisse und Listener in Ajax-Anfragen
- 7.2.4 JavaScript-API
- Senden von Ajax-Anfragen
- Status und Fehler von Ajax-Anfragen behandeln
- 7.2.5 Partieller JSF-Lebenszyklus
- 7.2.6 Ajax-Queue kontrollieren
- 7.2.7 Eingabefelder zurücksetzen
- 7.3 Ajax in Kompositkomponenten
- 7.4 Eigene Ajax-Komponenten
- 7.4.1 Die Kompositkomponente mc:ajaxStatus
- 7.4.2 Die Kompositkomponente mc:ajaxPoll
- 7.5 MyGourmet 14:Ajax
- 7.6 Werkzeuge für den Ajax-Entwickler
- 7.6.1 Firebug
- Analyse des DOM-Baums
- JavaScript-Debugging
- 7.6.2 HTTP-Debugger
- 7.6.3 Web Developer Toolbar
- 8 JSF und HTML5
- 8.1 Verarbeitungsmodi für Facelets-Dateien
- 8.2 HTML5 Pass-Through-Attribute
- 8.3 HTML5 Pass-Through-Elemente
- 8.4 MyGourmet 15:HTML5
- 9 JSF und CDI
- 9.1 Beans und Dependency-Injection mit CDI
- 9.1.1 Managed-Beans mit CDI
- 9.1.2 Producer-Methoden
- 9.2 Konfiguration von CDI
- 9.3 MyGourmet 16:IntegrationvonCDI
- 9.4 Konversationen mit JSF
- 9.5 Apache MyFaces CODI
- 9.5.1 Konversationen mit CODI
- Conversation-Scope
- View-Access-Scope
- Window-Scope
- Window-Context
- 9.5.2 View-Config und Page-Beans
- View-Config
- Page-Beans
- 9.5.3 MyGourmet 17: Apache MyFaces CODI
- 10 PrimeFaces – JSF und mehr
- 10.1 PrimeFaces – ein Überblick
- 10.2 Komponenten
- 10.2.1 Erweiterte Standardkomponenten
- 10.2.2 Auswahl einiger PrimeFaces-Komponenten
- AccordionPanel – p:accordionPanel
- Calendar – p:calendar
- DataTable – p:dataTable
- Menu – p:menu
- PanelGrid – p:panelGrid
- Rating – p:rating
- Slider – p:slider
- Spinner – p:spinner
- 10.3 Themes
- Benutzerdefinierte Themes erstellen
- 10.4 PrimeFaces und Ajax
- 10.4.1 Erweiterungen im Vergleich zu Standard-JSF
- 10.4.2 Ajax-Komponenten
- AjaxStatus – p:ajaxStatus
- Poll – p:poll
- 10.4.3 Komponenten mit Ajax-Unterstützung
- 10.5 MyGourmet 18: PrimeFaces
- 10.5.1 Integration von PrimeFaces
- 10.5.2 Umstellung auf PrimeFaces-Komponenten
- 10.5.3 Benutzerdefiniertes Theme
- 11 Faces-Flows
- 11.1 Ein erstes Beispiel
- 11.2 Definition von Flows
- 11.2.1 Typen von Flow-Knoten
- 11.2.2 Definition mit XML
- 11.2.3 Definition mit Java
- 11.3 Flow-Scope
- 11.3.1 Managed-Beans im Flow-Scope
- 11.3.2 Direkter Zugriff auf den Flow-Scope
- 11.4 Faces-Flows in Jar-Dateien
- 11.5 Beispiel Faces-Flows
- 12 MyGourmet Fullstack – JSF, CDI und JPA mit CODI kombiniert
- 12.1 Architektur von MyGourmet Fullstack
- 12.1.1 Entitäten
- 12.1.2 Datenzugriffsschicht
- 12.1.3 Serviceschicht
- 12.1.4 Präsentationsschicht
- A Eine kurze Einführung in Maven
- A.1 Installation von Maven
- A.2 Maven und MyGourmet
- A.3 Erstellen eines JSF-Projekts
- B Eclipse
- B.1 Installation von Eclipse mit Maven-Unterstützung
- B.2 Eclipse und MyGourmet
- B.3 Apache Tomcat 7 in Eclipse einrichten
- Stichwortverzeichnis
Product information
- Title: JavaServer Faces 2.2, 3rd Edition
- Author(s):
- Release date: February 2014
- Publisher(s): dpunkt
- ISBN: 97833864900099
You might also like
book
Mastering JavaServer Faces 2.2
Master the art of implementing user interfaces with JSF 2.2 In Detail JavaServer Faces (JSF) is …
book
Basiswissen für Softwarearchitekten, 2nd Edition
offizielles Buch zum "CPSA"- Foundation Level nach iSAQB- geschrieben von Mitgliedern des iSAQB-Board, die den Lehrplan …
book
Der Weg zum Java-Profi, 5th Edition
Dieses Buch bietet eine umfassende Einführung in die professionelle Java-Entwicklung und vermittelt Ihnen das notwendige Wissen, …
book
Mikrocontroller – Der Leitfaden für Maker
Die ersten sechs Kapitel beschäftigen sich mit den grundlegenden Themen: Mikrocontrollerfamilien, Minicomputersysteme, E/A-Einheiten, Energieversorgung und Funksysteme. …