JavaServer Faces 2.0 - Ein Arbeitsbuch für die Praxis

Bernd Müller

JavaServer Faces 2.0

Ein Arbeitsbuch für die Praxis

2010

514 Seiten

Format: PDF, Online Lesen

E-Book: €  31,99

E-Book kaufen

E-Book kaufen

ISBN: 9783446425453

 

Inhaltsverzeichnis

6

Vorwort zur 2. Auflage

12

Vorwort

14

1 Einleitung

16

1.1 Ziel dieses Buches

16

1.2 Der Leser

18

1.3 Das Buch im Netz

19

1.4 Verwendete Software

20

1.5 Aufbau des Buches

21

1.6 JSF-Versionen vor 2.0

22

2 Motivation

24

2.1 Was sind JavaServer Faces?

24

2.2 JavaServer Faces und Zukunftssicherheit

25

2.3 Neuerungen in JavaServer Faces 2.0

26

2.4 Spezifikationen und Implementierungen

27

2.5 Die erste JSF-Anwendung: Tic-Tac-Toe

27

3 Die Anwendung Comedians

36

3.1 JSF-Seiten

37

3.2 Managed Beans

40

3.3 JPA

47

4 JavaServer Faces im Detail

50

4.1 Bearbeitungsmodell einer JSF-Anfrage

50

4.1.1 Wiederherstellung des Komponentenbaums

53

4.1.2 Übernahme der Anfragewerte

54

4.1.3 Validierung

55

4.1.4 Aktualisierung der Modellobjekte

56

4.1.5 Aufruf der Anwendungslogik

56

4.1.6 Rendern der Antwort

57

4.2 Expression-Language

58

4.2.1 Syntax

59

4.2.2 Bean-Properties

59

4.2.3 Vordefinierte Variablen

62

4.2.4 Vergleiche, arithmetische und logische Ausdrücke

64

4.2.5 Methodenaufrufe und Methodenparameter

67

4.2.6 Verwendung der Expression-Language in Java

68

4.3 Managed Beans

69

4.3.1 Architekturfragen

70

4.3.2 Automatische Verwaltung von Managed Beans

71

4.3.3 Initialisierung

73

4.3.4 Komponentenbindung

79

4.3.5 Java-EE-5-Annotationen

83

4.3.6 JSF-Annotationen

83

4.4 Validierung und Konvertierung

87

4.4.1 Standardkonvertierer

87

4.4.2 Konvertierung von Kalenderdaten und Zahlen

92

4.4.3 Konvertierung von Aufzählungstypen

96

4.4.4 Anwendungsdefinierte Konvertierer

99

4.4.5 Standardvalidierer

102

4.4.6 Validierungsmethoden

107

4.4.7 Anwendungsdefinierte Validierer

109

4.4.8 Eingabekomponenten und das immediate-Attribut

110

4.4.9 Bean-Validierung mit JSR 303

113

4.4.10 Fehlermeldungen

120

4.5 Event-Verarbeitung

129

4.5.1 JSF-Events und allgemeine Event-Verarbeitung

130

4.5.2 Action-Events

132

4.5.3 Befehlskomponenten und das immediate-Attribut

136

4.5.4 Value-Change-Events

137

4.5.5 Data-Model-Events

142

4.5.6 Phase-Events

143

4.5.7 System-Events

145

4.6 Navigation

148

4.6.1 Implizite Navigation

149

4.6.2 View-to-View-Regeln

150

4.6.3 Regeln für mehrere Seiten

153

4.6.4 Regeln für Action-Methoden

154

4.6.5 Regeln zur bedingten Navigation

154

4.6.6 Redirects

155

4.6.7 Verweise auf Nicht-JSF-Seiten

156

4.6.8 View-Parameter und Lesezeichen

158

4.6.9 Die technische Sicht

161

4.7 Internationalisierung

162

4.7.1 Lokalisierung

163

4.7.2 Dynamische und explizite Lokalisierung

170

4.7.3 Klassen als Resource-Bundles

171

4.7.4 Managed Beans und Lokalisierung

174

4.8 Konfiguration

175

4.8.1 Die Servlet-Konfiguration

176

4.8.2 Die JSF-Konfiguration

185

4.8.3 XML-Konfigurationsdatei versus Annotationen

194

4.9 Client-Ids und Komponenten-Ids

195

4.9.1 Id-Arten und Namensräume

195

4.9.2 Client- und server-seitige Programmierung mit Ids

199

4.10 Verwendung allgemeiner Ressourcen

202

4.10.1 Einfache Ressourcen

203

4.10.2 Versionierte Ressourcen und Ressourcen-Bibliotheken

204

4.10.3 Positionierung von Ressourcen

206

4.11 JSTL-Bibliotheken

209

5 Die UI-Komponenten

214

5.1 Die Standardkomponenten

215

5.2 Render-Sätze

219

5.3 Die JSF-Standard-Bibliotheken

219

5.4 Die HTML-Bibliothek

221

5.5 Die Kernbibliothek

223

5.6 Die Facelets-Bibliothek

225

5.7 Die Composite-Component-Bibliothek

226

5.8 Die JSTL-Kern- und Funktionsbibliothek

227

6 Facelets

230

6.1 Templating mit Facelets

230

6.2 Ein Template-Beispiel: UPN-Rechner

233

6.3 Dynamische Templates

238

6.4 Weitere Facelets-Tags

240

6.5 Entwicklung eigener Komponenten

243

6.6 JSF-Tags als Attribute der Standard-HTML-Tags

249

7 Ajax

252

7.1 Motivation

253

7.2 Die Grundlagen von Ajax in JSF 2.0

254

7.2.1 JSFs JavaScript-Bibliothek

255

7.2.2 Das -Tag

257

7.2.3 Das überarbeitete Bearbeitungsmodell einer JSF-Anfrage

260

7.3 Weiterführende Themen

262

7.3.1 Navigation

262

7.3.2 JavaScript mit Java

263

7.3.3 Nicht gerenderte Komponenten

265

7.3.4 Abgekürzte Komponenten-Ids

267

7.4 Ajax mit RichFaces

268

7.4.1 Die -Komponente

269

7.4.2 Die -Komponente

271

7.4.3 Die -Komponente

272

7.4.4 Die - und -Komponenten

274

7.4.5 Die -Komponente

274

7.4.6 Die -Komponente

275

7.5 RichFaces-Komponenten mit eingebauter Ajax-Unterstützung

276

7.5.1 Drag and Drop

277

7.5.2 Bäume

282

7.5.3 Darstellung großer Datenmengen

293

8 JavaServer Faces im Einsatz: Die Anwendung Online-Banking

300

8.1 Der Seitenaufbau

301

8.2 Das Geschäftsmodell

304

8.3 Authentifizierung und Autorisierung

307

8.3.1 Realisierung der Authentifizierung

308

8.3.2 Die Abmeldung

310

8.4 Pflege der Stammdaten

311

8.5 Überweisungen

314

8.6 Anzeige aller Konten

318

8.7 Anzeige der Umsätze

321

8.8 Export der Umsätze im PDF- und Excel-Format

325

9 JavaServer Faces und Java-EE

332

9.1 Java-EE 5

333

9.2 Java-EE 6

338

9.3 CDI und Weld

339

9.4 Konversationen mit CDI

342

9.5 Weitere Neuerungen in Java-EE 6

348

9.5.1 Servlet 3.0

348

9.5.2 Web-Profile

349

9.5.3 Managed Beans

350

9.6 Authentifizierung und Autorisierung mit JBoss Seam

351

10 Systeme und Werkzeuge

360

10.1 GlassFish

360

10.1.1 Installation und Betrieb

361

10.1.2 Die Datenbank JavaDB

363

10.1.3 Konfiguration

365

10.2 Eclipse

367

10.2.1 Installation

368

10.2.2 GlassFish-Plugin

369

10.2.3 JBoss Tools

371

10.2.4 Projekte

374

10.3 Firebug

374

10.4 Selenium

377

10.4.1 Selenium-IDE

377

10.4.2 Selenium-RC

380

10.5 JSFUnit

383

Anhang A: Annotationen

390

A.1: JSF-Annotationen

390

A.2: Annotationen für Managed Beans

393

Anhang B: Die Tags der Standardbibliotheken

398

B.1: HTML-Attribute

399

B.2: JavaScript-basierte HTML-Attribute

401

B.3: HTML- und JSF-Attribute für CSS

403

B.3.1: Regeln

403

B.3.2: Klassen- und Id-Selektoren

404

B.4: HTML-Tag-Bibliothek

405

B.5: Kernbibliothek

447

B.6: Facelets

480

Anhang C: URL-Verzeichnis

492

Literaturverzeichnis

498

Sachverzeichnis

500

 

© 2009-2024 ciando GmbH