1 Einführung in JavaServer Faces
1 Einführung in JavaServer Faces
1.1 Kurzgeschichte der Webentwicklung
1.1 Kurzgeschichte der Webentwicklung
1.2 JSF 2.0 im Überblick
1.2 JSF 2.0 im Überblick
1.3 Das erste JSF-Beispiel
1.3 Das erste JSF-Beispiel
1.3.1 Erstellen eines JSF-Projekts
1.3.1 Erstellen eines JSF-Projekts
1.3.2 Starten der Anwendung
1.3.2 Starten der Anwendung
1.3.3 Entwicklung mit Eclipse und JBoss-Tools
1.3.3 Entwicklung mit Eclipse und JBoss-Tools
1.3.3.1 Arbeiten mit Eclipse und JBoss-Tools
1.3.3.1 Arbeiten mit Eclipse und JBoss-Tools
1.3.3.2 Starten der Anwendung
1.3.3.2 Starten der Anwendung
1.4 MyGourmet 1: Einführung anhand eines Beispiels
1.4 MyGourmet 1: Einführung anhand eines Beispiels
2 Die Konzepte von JavaServer Faces
2 Die Konzepte von JavaServer Faces
2.1 Aufgaben der JSF-Technologie
2.1 Aufgaben der JSF-Technologie
2.2 JavaServer Faces in Schlagworten
2.2 JavaServer Faces in Schlagworten
2.3 MyGourmet 1: Schlagworte im Einsatz
2.3 MyGourmet 1: Schlagworte im Einsatz
2.4 Managed-Beans
2.4 Managed-Beans
2.4.1 Managed-Beans -- die Grundlagen
2.4.1 Managed-Beans -- die Grundlagen
2.4.2 Konfiguration von Managed-Beans
2.4.2 Konfiguration von Managed-Beans
2.4.3 Managed-Properties
2.4.3 Managed-Properties
2.4.4 Die Rolle von Managed-Beans
2.4.4 Die Rolle von Managed-Beans
2.5 Die Unified Expression Language
2.5 Die Unified Expression Language
2.5.1 Unified-EL in MyGourmet 1
2.5.1 Unified-EL in MyGourmet 1
2.5.2 Die Unified-EL im Detail
2.5.2 Die Unified-EL im Detail
2.5.3 Erweiterungen der Unified-EL in Java EE 6
2.5.3 Erweiterungen der Unified-EL in Java EE 6
2.6 Lebenszyklus einer HTTP-Anfrage in JSF
2.6 Lebenszyklus einer HTTP-Anfrage in JSF
2.6.1 Ändern des Lebenszyklus -- immediate-Attribut
2.6.1 Ändern des Lebenszyklus -- immediate-Attribut
2.6.1.1 immediate-Attribut für Eingabekomponenten
2.6.1.1 immediate-Attribut für Eingabekomponenten
2.6.1.2 immediate-Attribut für Steuerkomponenten
2.6.1.2 immediate-Attribut für Steuerkomponenten
2.6.2 MyGourmet 2: immediate-Attribute
2.6.2 MyGourmet 2: immediate-Attribute
2.7 Navigation
2.7 Navigation
2.8 Ereignisse und Ereignisbehandlung
2.8 Ereignisse und Ereignisbehandlung
2.8.1 Value-Change-Events
2.8.1 Value-Change-Events
2.8.2 Action-Events
2.8.2 Action-Events
2.8.3 MyGourmet 3: Ereignisse
2.8.3 MyGourmet 3: Ereignisse
2.8.4 Phase-Events
2.8.4 Phase-Events
2.8.5 MyGourmet 4: Phase-Listener
2.8.5 MyGourmet 4: Phase-Listener
2.9 Seitendeklarationssprachen
2.9 Seitendeklarationssprachen
2.9.1 Vorteile von Facelets gegenüber JSP
2.9.1 Vorteile von Facelets gegenüber JSP
2.9.2 Seitendeklarationssprachen im Einsatz
2.9.2 Seitendeklarationssprachen im Einsatz
2.10 Verwendung des ID-Attributs in JavaServer Faces
2.10 Verwendung des ID-Attributs in JavaServer Faces
2.11 Konvertierung
2.11 Konvertierung
2.11.1 Standardkonverter
2.11.1 Standardkonverter
2.11.2 Benutzerdefinierte Konverter
2.11.2 Benutzerdefinierte Konverter
2.11.3 MyGourmet 5: Konvertierung
2.11.3 MyGourmet 5: Konvertierung
2.12 Validierung
2.12 Validierung
2.12.1 Bean-Validation nach JSR-303
2.12.1 Bean-Validation nach JSR-303
2.12.1.1 Benutzerdefinierte Constraints mit Bean-Validation
2.12.1.1 Benutzerdefinierte Constraints mit Bean-Validation
2.12.2 Standardvalidatoren
2.12.2 Standardvalidatoren
2.12.3 Benutzerdefinierte Validatoren
2.12.3 Benutzerdefinierte Validatoren
2.12.4 MyGourmet 6: Validierung
2.12.4 MyGourmet 6: Validierung
2.13 Nachrichten
2.13 Nachrichten
2.14 Internationalisierung
2.14 Internationalisierung
2.14.1 Ermittlung des Lokalisierungscodes
2.14.1 Ermittlung des Lokalisierungscodes
2.14.2 Internationalisierung der JSF-Nachrichten
2.14.2 Internationalisierung der JSF-Nachrichten
2.14.2.1 Nachrichten für Bean-Validation
2.14.2.1 Nachrichten für Bean-Validation
2.14.3 Internationalisierung der Anwendungstexte
2.14.3 Internationalisierung der Anwendungstexte
2.14.4 MyGourmet 7: Internationalisierung
2.14.4 MyGourmet 7: Internationalisierung
3 Standard-JSF-Komponenten
3 Standard-JSF-Komponenten
3.1 Basisfunktionen der Core-Tag-Library
3.1 Basisfunktionen der Core-Tag-Library
3.2 UIForm
3.2 UIForm
3.3 UICommand
3.3 UICommand
3.4 UIData und UIColumn
3.4 UIData und UIColumn
3.5 UIGraphic
3.5 UIGraphic
3.6 UIOutput
3.6 UIOutput
3.6.1 Tag zur Textausgabe h:outputText
3.6.1 Tag zur Textausgabe h:outputText
3.6.2 Labelausgabe-Komponente h:outputLabel
3.6.2 Labelausgabe-Komponente h:outputLabel
3.6.3 Linkkomponente h:outputLink
3.6.3 Linkkomponente h:outputLink
3.6.4 Parametrisierbares Textausgabefeld h:outputFormat
3.6.4 Parametrisierbares Textausgabefeld h:outputFormat
3.7 UIInput
3.7 UIInput
3.7.1 Texteingabefeld h:inputText
3.7.1 Texteingabefeld h:inputText
3.7.2 Passworteingabefeld h:inputSecret
3.7.2 Passworteingabefeld h:inputSecret
3.7.3 Mehrzeiliges Texteingabefeld h:inputTextarea
3.7.3 Mehrzeiliges Texteingabefeld h:inputTextarea
3.7.4 Verstecktes Eingabefeld h:inputHidden
3.7.4 Verstecktes Eingabefeld h:inputHidden
3.8 UIMessage
3.8 UIMessage
3.9 UISelectBoolean
3.9 UISelectBoolean
3.10 UISelectOne
3.10 UISelectOne
3.11 UISelectMany
3.11 UISelectMany
3.11.1 Auswahlfeld h:selectManyCheckbox
3.11.1 Auswahlfeld h:selectManyCheckbox
3.11.2 Listenfeld h:selectManyListbox
3.11.2 Listenfeld h:selectManyListbox
3.11.3 Menüfeld h:selectManyMenu
3.11.3 Menüfeld h:selectManyMenu
3.12 UISelectItem
3.12 UISelectItem
3.13 UISelectItems
3.13 UISelectItems
3.14 UIPanel
3.14 UIPanel
3.15 UIViewRoot
3.15 UIViewRoot
3.16 UIOutcomeTarget
3.16 UIOutcomeTarget
3.17 UIViewParameter
3.17 UIViewParameter
3.18 Ressourcenbezogene Komponenten
3.18 Ressourcenbezogene Komponenten
3.19 Verhaltens-Interfaces
3.19 Verhaltens-Interfaces
3.20 MyGourmet 8: Standardkomponenten
3.20 MyGourmet 8: Standardkomponenten
3.21 MyGourmet 9: UIData und Detailansicht
3.21 MyGourmet 9: UIData und Detailansicht
4 Advanced JSF
4 Advanced JSF
4.1 Project-Stage
4.1 Project-Stage
4.2 Advanced Facelets
4.2 Advanced Facelets
4.2.1 Wiederverwendung von Inhalten mit Facelets
4.2.1 Wiederverwendung von Inhalten mit Facelets
4.2.2 Tag-Bibliotheken mit Facelets erstellen
4.2.2 Tag-Bibliotheken mit Facelets erstellen
4.2.2.1 Definition einer EL-Funktion
4.2.2.1 Definition einer EL-Funktion
4.2.2.2 Definition eines Konverter-Tags
4.2.2.2 Definition eines Konverter-Tags
4.2.2.3 Definition eines Validator-Tags
4.2.2.3 Definition eines Validator-Tags
4.2.3 MyGourmet 10: Advanced Facelets
4.2.3 MyGourmet 10: Advanced Facelets
4.3 Templating
4.3 Templating
4.3.1 Mehrstufiges Templating
4.3.1 Mehrstufiges Templating
4.3.2 Mehrere Templates pro Seite
4.3.2 Mehrere Templates pro Seite
4.3.3 MyGourmet 11: Templating mit Facelets
4.3.3 MyGourmet 11: Templating mit Facelets
4.4 Bookmarks und GET-Anfragen in JSF
4.4 Bookmarks und GET-Anfragen in JSF
4.4.1 Navigation mit h:link und h:button
4.4.1 Navigation mit h:link und h:button
4.4.2 View-Parameter
4.4.2 View-Parameter
4.4.2.1 Positionierung von f:metadata
4.4.2.1 Positionierung von f:metadata
4.4.2.2 Lebenszyklus mit View-Parametern
4.4.2.2 Lebenszyklus mit View-Parametern
4.4.3 MyGourmet 12: View-Parameter und GET
4.4.3 MyGourmet 12: View-Parameter und GET
4.5 Verwaltung von Ressourcen
4.5 Verwaltung von Ressourcen
4.5.1 Identifikation von Ressourcen -- Teil 1
4.5.1 Identifikation von Ressourcen -- Teil 1
4.5.2 Ressourcen im Einsatz
4.5.2 Ressourcen im Einsatz
4.5.3 Positionierung von Ressourcen
4.5.3 Positionierung von Ressourcen
4.5.4 Identifikation von Ressourcen -- Teil 2
4.5.4 Identifikation von Ressourcen -- Teil 2
4.5.5 Ressourcen in MyGourmet 12
4.5.5 Ressourcen in MyGourmet 12
4.6 Die JSF-Umgebung: Faces-Context und External-Context
4.6 Die JSF-Umgebung: Faces-Context und External-Context
4.7 Konfiguration von JavaServer Faces
4.7 Konfiguration von JavaServer Faces
4.7.1 Die Webkonfigurationsdatei web.xml
4.7.1 Die Webkonfigurationsdatei web.xml
4.7.1.1 Faces-Servlet und Mapping
4.7.1.1 Faces-Servlet und Mapping
4.7.1.2 Kontextparameter
4.7.1.2 Kontextparameter
4.7.2 Die JSF-Konfigurationsdatei -- faces-config.xml
4.7.2 Die JSF-Konfigurationsdatei -- faces-config.xml
4.7.2.1 Anwendungseinstellungen -- application
4.7.2.1 Anwendungseinstellungen -- application
5 Die eigene JSF-Komponente
5 Die eigene JSF-Komponente
5.1 Kompositkomponenten
5.1 Kompositkomponenten
5.1.1 Aufbau einer Kompositkomponente
5.1.1 Aufbau einer Kompositkomponente
5.1.1.1 Der Bereich cc:interface
5.1.1.1 Der Bereich cc:interface
5.1.1.2 Der Bereich cc:implementation
5.1.1.2 Der Bereich cc:implementation
5.1.2 Die Komponente mc:panelBox
5.1.2 Die Komponente mc:panelBox
5.1.3 Die Komponente mc:dataTable
5.1.3 Die Komponente mc:dataTable
5.1.4 Die Komponente mc:collapsiblePanel
5.1.4 Die Komponente mc:collapsiblePanel
5.1.5 Die Komponente mc:inputSpinner
5.1.5 Die Komponente mc:inputSpinner
5.2 Klassische Komponenten
5.2 Klassische Komponenten
5.2.1 Vorarbeiten: Komponentenfamilie, Komponententyp und Renderertyp definieren
5.2.1 Vorarbeiten: Komponentenfamilie, Komponententyp und Renderertyp definieren
5.2.1.1 Die Wahl der Basisklasse
5.2.1.1 Die Wahl der Basisklasse
5.2.1.2 Komponententyp, Komponentenfamilie und Renderertyp
5.2.1.2 Komponententyp, Komponentenfamilie und Renderertyp
5.2.2 Komponentenklasse schreiben
5.2.2 Komponentenklasse schreiben
5.2.2.1 Komponentenattribute
5.2.2.1 Komponentenattribute
5.2.2.2 State-Saving
5.2.2.2 State-Saving
5.2.2.3 Komposition klassischer Komponenten
5.2.2.3 Komposition klassischer Komponenten
5.2.3 Schreiben der Rendererklasse
5.2.3 Schreiben der Rendererklasse
5.2.3.1 Rendern (Encoding)
5.2.3.1 Rendern (Encoding)
5.2.3.2 Decodierung (Decoding)
5.2.3.2 Decodierung (Decoding)
5.2.3.3 Rendern von Ressourcen
5.2.3.3 Rendern von Ressourcen
5.2.4 Registrieren der Komponenten- und der Rendererklasse
5.2.4 Registrieren der Komponenten- und der Rendererklasse
5.2.5 Tag-Definition schreiben
5.2.5 Tag-Definition schreiben
5.2.6 Tag-Behandlungsklasse schreiben
5.2.6 Tag-Behandlungsklasse schreiben
5.2.7 Tag-Bibliothek einbinden
5.2.7 Tag-Bibliothek einbinden
5.3 Kompositkomponenten und klassischen Komponenten kombinieren
5.3 Kompositkomponenten und klassischen Komponenten kombinieren
5.4 Alternativen zur eigenen Komponente
5.4 Alternativen zur eigenen Komponente
5.4.1 Austausch der Rendererklasse
5.4.1 Austausch der Rendererklasse
5.4.2 Austausch der Komponentenklasse
5.4.2 Austausch der Komponentenklasse
5.4.3 Benutzerdefinierte Komponente aus den Backing-Beans-- Component-Binding
5.4.3 Benutzerdefinierte Komponente aus den Backing-Beans-- Component-Binding
5.5 Überschreiben von JSF-Kernklassen
5.5 Überschreiben von JSF-Kernklassen
5.6 MyGourmet 13: Komponenten und Services
5.6 MyGourmet 13: Komponenten und Services
5.7 Die eigene Komponentenbibliothek
5.7 Die eigene Komponentenbibliothek
5.8 MyGourmet 13 mit Komponentenbibliothek
5.8 MyGourmet 13 mit Komponentenbibliothek
6 Ajax und JSF
6 Ajax und JSF
6.1 Einführung in Ajax -- "`Asynchronous JavaScript And XML"
6.1 Einführung in Ajax -- "`Asynchronous JavaScript And XML"
6.2 Ajax in JSF 2.0
6.2 Ajax in JSF 2.0
6.2.1 Ein erstes Beispiel mit f:ajax
6.2.1 Ein erstes Beispiel mit f:ajax
6.2.2 f:ajax im Einsatz
6.2.2 f:ajax im Einsatz
6.2.3 JavaScript-API
6.2.3 JavaScript-API
6.2.3.1 Senden von Ajax-Anfragen
6.2.3.1 Senden von Ajax-Anfragen
6.2.3.2 Status und Fehler von Ajax-Anfragen behandeln
6.2.3.2 Status und Fehler von Ajax-Anfragen behandeln
6.2.4 Partieller JSF-Lebenszyklus
6.2.4 Partieller JSF-Lebenszyklus
6.3 Ajax in Kompositkomponenten
6.3 Ajax in Kompositkomponenten
6.4 Eigene Ajax-Komponenten
6.4 Eigene Ajax-Komponenten
6.4.1 Die Kompositkomponente ajaxStatus
6.4.1 Die Kompositkomponente ajaxStatus
6.4.2 Die Kompositkomponente ajaxPoll
6.4.2 Die Kompositkomponente ajaxPoll
6.5 MyGourmet 14: Ajax
6.5 MyGourmet 14: Ajax
6.6 Werkzeuge für den Ajax-Entwickler
6.6 Werkzeuge für den Ajax-Entwickler
6.6.1 Firebug
6.6.1 Firebug
6.6.1.1 Analyse des DOM-Baums
6.6.1.1 Analyse des DOM-Baums
6.6.1.2 JavaScript-Debugging
6.6.1.2 JavaScript-Debugging
6.6.2 HTTP-Debugger
6.6.2 HTTP-Debugger
6.6.3 Web Developer Toolbar
6.6.3 Web Developer Toolbar
7 Das Ökosystem von JavaServer Faces
7 Das Ökosystem von JavaServer Faces
7.1 Spring-Framework
7.1 Spring-Framework
7.1.1 Konfiguration von Spring
7.1.1 Konfiguration von Spring
7.1.2 Dependency-Injection mit Spring und JSR-330
7.1.2 Dependency-Injection mit Spring und JSR-330
7.1.3 MyGourmet 15: Spring-Integration
7.1.3 MyGourmet 15: Spring-Integration
7.2 Apache MyFaces Orchestra
7.2 Apache MyFaces Orchestra
7.2.1 Konversationen
7.2.1 Konversationen
7.2.1.1 Lebensdauer einer Konversation
7.2.1.1 Lebensdauer einer Konversation
7.2.1.2 Konfiguration von Orchestra
7.2.1.2 Konfiguration von Orchestra
7.2.1.3 Konversationen im Einsatz
7.2.1.3 Konversationen im Einsatz
7.2.2 Persistenz
7.2.2 Persistenz
7.2.3 View-Controller
7.2.3 View-Controller
7.2.4 MyGourmet 16: Apache MyFaces Orchestra
7.2.4 MyGourmet 16: Apache MyFaces Orchestra
7.3 Komponentenbibliotheken
7.3 Komponentenbibliotheken
8 MyGourmet Fullstack -- JSF, Spring, Orchestra und JPA kombiniert
8 MyGourmet Fullstack -- JSF, Spring, Orchestra und JPA kombiniert
8.1 Architektur von MyGourmet Fullstack
8.1 Architektur von MyGourmet Fullstack
8.1.1 Entitäten
8.1.1 Entitäten
8.1.2 Datenzugriffsschicht
8.1.2 Datenzugriffsschicht
8.1.3 Serviceschicht
8.1.3 Serviceschicht
8.1.4 Präsentationsschicht
8.1.4 Präsentationsschicht
8.2 Konfiguration der Anwendung
8.2 Konfiguration der Anwendung
8.2.1 Konfiguration von JPA
8.2.1 Konfiguration von JPA
8.2.2 Konfiguration von Orchestra
8.2.2 Konfiguration von Orchestra
9 Trinidad - Die Komponentenbibliothek
9 Trinidad - Die Komponentenbibliothek
9.1 Trinidad - Ein Überblick
9.1 Trinidad - Ein Überblick
9.2 Installation und Konfiguration
9.2 Installation und Konfiguration
9.2.1 Dependencies
9.2.1 Dependencies
9.2.2 Konfiguration
9.2.2 Konfiguration
9.2.2.1 web.xml - Grundkonfiguration
9.2.2.1 web.xml - Grundkonfiguration
9.2.2.2 Weitere web.xml Kontextparameter
9.2.2.2 Weitere web.xml Kontextparameter
9.2.2.3 trinidad-config.xml
9.2.2.3 trinidad-config.xml
9.3 myGourmet meets Trinidad
9.3 myGourmet meets Trinidad
9.3.1 Ausgangslage
9.3.1 Ausgangslage
9.3.2 Start von MyGourmet mit Trinidad
9.3.2 Start von MyGourmet mit Trinidad
9.4 Ajax/Partial Page Rendering (PPR) in Action
9.4 Ajax/Partial Page Rendering (PPR) in Action
9.4.1 PPR mit Attributen
9.4.1 PPR mit Attributen
9.4.2 PPR per RequestContext im Source Code
9.4.2 PPR per RequestContext im Source Code
9.4.3 PPR über Attribute vs. PPR mit RequestContext (per Source Code)
9.4.3 PPR über Attribute vs. PPR mit RequestContext (per Source Code)
9.4.4 PPR und JSF Namingcontainer
9.4.4 PPR und JSF Namingcontainer
9.4.5 PPR Funktionalität ohne zusätzlicher Konfiguration
9.4.5 PPR Funktionalität ohne zusätzlicher Konfiguration
9.4.6 Weitere PPR Hints
9.4.6 Weitere PPR Hints
9.5 Trinidad Dialog Framework in Action
9.5 Trinidad Dialog Framework in Action
9.5.1 Dialoge im gleichen Fenster
9.5.1 Dialoge im gleichen Fenster
9.5.2 Dialoge als Popup
9.5.2 Dialoge als Popup
9.5.3 Leichtgewichtige Dialoge
9.5.3 Leichtgewichtige Dialoge
9.5.4 Dialog - das Finish
9.5.4 Dialog - das Finish
9.6 PageFlowScope in Dialogabläufen
9.6 PageFlowScope in Dialogabläufen
9.7 Clientseitige Konvertierung und Validierung
9.7 Clientseitige Konvertierung und Validierung
10 Tobago -- JSF und mehr
10 Tobago -- JSF und mehr
10.1 Tobago -- ein Überblick
10.1 Tobago -- ein Überblick
10.2 Tobago und MyGourmet
10.2 Tobago und MyGourmet
10.3 Tobago-Controls
10.3 Tobago-Controls
10.3.1 Tobago tc:in/tx:in
10.3.1 Tobago tc:in/tx:in
10.3.2 Tobago UICommand
10.3.2 Tobago UICommand
10.3.3 Tobago tc:tabGroup
10.3.3 Tobago tc:tabGroup
10.3.4 Tobago tc:menu
10.3.4 Tobago tc:menu
10.3.5 Tobago tc:toolBar
10.3.5 Tobago tc:toolBar
10.3.6 Tobago tc:sheet
10.3.6 Tobago tc:sheet
10.4 Partial-Rendering mit Tobago
10.4 Partial-Rendering mit Tobago
10.5 Layout in Tobago
10.5 Layout in Tobago
10.5.1 Grid-Layout
10.5.1 Grid-Layout
10.6 Themes und Markup
10.6 Themes und Markup
10.6.1 Themes in Tobago
10.6.1 Themes in Tobago
10.6.2 Das Ressourcenmanagement in Tobago
10.6.2 Das Ressourcenmanagement in Tobago
10.6.3 Markup in Tobago
10.6.3 Markup in Tobago
10.7 Zusammenfassung und Ausblick
10.7 Zusammenfassung und Ausblick
11 Eclipse und JBoss-Tools
11 Eclipse und JBoss-Tools
11.1 Installation der JBoss-Tools
11.1 Installation der JBoss-Tools
11.2 Eclipse und MyGourmet
11.2 Eclipse und MyGourmet
12 Eine kurze Einführung in Maven
12 Eine kurze Einführung in Maven
12.1 Installation von Maven 2
12.1 Installation von Maven 2
12.2 Maven und MyGourmet
12.2 Maven und MyGourmet
12.3 Erstellen eines JSF-Projekts
12.3 Erstellen eines JSF-Projekts
13 Autoren
13 Autoren
13.1 Autoren und Beteiligte
13.1 Autoren und Beteiligte
13.2 Weitere Mitwirkende
13.2 Weitere Mitwirkende
14 Änderungshistorie
14 Änderungshistorie
14.1 Version 1.0.5 (16. 9. 2011)
14.1 Version 1.0.5 (16. 9. 2011)
14.2 Version 1.0.4 (8. 4. 2011)
14.2 Version 1.0.4 (8. 4. 2011)
14.3 Version 1.0.3 (22. 12. 2010)
14.3 Version 1.0.3 (22. 12. 2010)
14.4 Version 1.0.2 (28. 6. 2010)
14.4 Version 1.0.2 (28. 6. 2010)
14.5 Version 1.0.1 (3. 2. 2010)
14.5 Version 1.0.1 (3. 2. 2010)
14.6 Version 1.0 (20. 11. 2009)
14.6 Version 1.0 (20. 11. 2009)