Home > Store > Programming > Java
Core JavaServer Faces, 3rd Edition
- By David Geary, Cay S. Horstmann
- Published May 14, 2010 by Prentice Hall. Part of the Sun Core Series series.
- Copyright 2010
- Dimensions: 7 X 9-1/8
- Pages: 672
- Edition: 3rd
- eBook (Watermarked)
- ISBN-10: 0-13-701393-0
- ISBN-13: 978-0-13-701393-7
Register your product to gain access to bonus material or receive a coupon.
Product Author Bios
David Geary worked at Sun Microsystems from 1994-1997, and served on the JSF 2.0 and JSTL Expert Groups. He is president of Clarity Training Inc., a training and consulting company focusing on server-side Java technology. His eight Java books include Advanced JavaServer Pages and the best-selling Graphic Java" 2 series. He was the second Apache Struts committer, and has written questions for Sun's Java certification exams. He contributes to the popular No Fluff Just Stuff tour, and is a JavaOne Rock Star. Cay S. Horstmann, coauthor of Core Java Vol. I and II, Eighth Edition, is professor of computer science at San Jose State University, a Java Champion, and a frequent conference speaker.
JavaServer Faces (JSF) is the standard Java EE technology for building web user interfaces. It provides a powerful framework for developing server-side applications, allowing you to cleanly separate visual presentation and application logic. JSF 2.0 is a major upgrade, which not only adds many useful features but also greatly simplifies the programming model by using annotations and “convention over configuration” for common tasks.
To help you quickly tap into the power of JSF 2.0, the third edition of Core JavaServer™ Faces has been completely updated to make optimum use of all the new features. The book includes
- Three totally new chapters on using Facelets tags for templating, building composite components, and developing Ajax applications
- Guidance on building robust applications with minimal hand coding and maximum productivity–without requiring any knowledge of servlets or other low-level “plumbing”
- A complete explanation of the basic building blocks—from using standard JSF tags, to working with data tables, and converting and validating input
- Coverage of advanced tasks, such as event handling, extending the JSF framework, and connecting to external services
- Solutions to a variety of common challenges, including notes on debugging and troubleshooting, in addition to implementation details and working code for features that are missing from JSF
- Proven solutions, hints, tips, and “how-tos” show you how to use JSF effectively in your development projects
Core JavaServer™ Faces, Third Edition, provides everything you need to master the powerful and time-saving features of JSF 2.0 and is the perfect guide for programmers developing Java EE 6 web apps on Glassfish or another Java EE 6-compliant application servers, as well as servlet runners such as Tomcat 6.
Table of Contents
Preface xv
Acknowledgments xix
Chapter 1: Getting Started 2
Why JavaServer Faces? 3
A Simple Example 4
Development Environments for JSF 13
An Analysis of the Sample Application 15
A First Glimpse of Ajax [JSF 2.0 Topic] 21
JSF Framework Services 24
Behind the Scenes 26
Conclusion 31
Chapter 2: Managed Beans 32
Definition of a Bean 33
CDI Beans [CDI Topic] 39
Message Bundles 40
A Sample Application 45
Bean Scopes 51
Configuring Beans 56
The Expression Language Syntax 63
Conclusion 71
Chapter 3: Navigation 72
Static Navigation 73
Dynamic Navigation 74
Redirection 86
RESTful Navigation and Bookmarkable URLs [JSF 2.0 Topic] 88
Advanced Navigation Rules 96
Conclusion 99
Chapter 4: Standard JSF Tags100
An Overview of the JSF Core Tags 102
An Overview of the JSF HTML Tags 105
Panels 115
The Head, Body, and Form Tags 118
Text Fields and Text Areas 123
Buttons and Links 134
Selection Tags 145
Messages 171
Conclusion 177
Chapter 5: Facelets [JSF 2.0 Topic] 178
Facelets Tags 179
Templating with Facelets 181
Custom Tags 195
Loose Ends 198
Conclusion 202
Chapter 6: Data Tables 204
The Data Table Tag–h:dataTable 205
A Simple Table 207
Headers, Footers, and Captions 212
Styles 215
JSF Components in Tables 218
Editing Tables 2
Database Tables 228
Table Models
Scrolling Techniques 242
Conclusion 244
Chapter 7: Conversion and Validation 246
Overview of the Conversion and Validation Process 247
Using Standard Converters 249
Using Standard Validators 262
Bean Validation [JSF 2.0 Topic] 270
Programming with Custom Converters and Validators 275
Implementing Custom Converter and Validator Tags 297
Conclusion 303
Chapter 8: Event Handling 304
Events and the JSF Life Cycle 306
Value Change Events 307
Action Events 312
Event Listener Tags 318
Immediate Components 320
Passing Data from the UI to the Server 324
Phase Events 328
System Events [JSF 2.0 Topic] 329
Putting It All Together 338
Conclusion 345
Chapter 9: Composite Components [JSF 2.0 Topic] 346
The Composite Tag Library 348
Using Composite Components 350
Implementing Composite Components 352
Configuring Composite Components 353
Attribute Types 354
Required Attributes and Default Attribute Values 355
Manipulating Server-Side Data 356
Localizing Composite Components 359
Exposing a Composite’s Components 360
Facets 365
Children 366
JavaScript 368
Backing Components 373
Packaging Composite Components in JARs 382
Conclusion 383
Chapter 10: Ajax [JSF 2.0] 384
Ajax and JSF 386
The JSF Life Cycle and Ajax 387
The JSF Ajax Recipe 388
The f:ajax Tag 389
Ajax Groups 392
Ajax Field Validation 394
Ajax Request Monitoring 396
JavaScript Namespaces 398
Handling Ajax Errors 400
Ajax Responses 400
The JSF 2.0 JavaScript Library 403
Passing Additional Ajax Request Parameters 405
Queueing Events 407
Coalescing Events 408
Intercepting jsf.ajax.request() 409
Using Ajax in Composite Components 409
Conclusion 416
Chapter 11: Custom Components, Converters, and Validators 418
Implementing a Component Class 420
Encoding: Generating Markup 424
Decoding: Processing Request Values 427
The Tag Library Descriptor [JSF 2.0 Topic] 433
Using an External Renderer 438
Processing Tag Attributes [JSF 2.0 Topic] 441
Encoding JavaScript 453
Using Child Components and Facets 457
Saving and Restoring State 468
Building Ajax Components [JSF 2.0 Topic] 473
Implementing Self-Contained Ajax in
Custom Components 475
Conclusion 484
Chapter 12: External Services 486
Database Access with JDBC 487
Configuring a Data Source 495
Using the Java Persistence Architecture 507
Container-Managed Authentication and Authorization 519
Sending Mail 532
Using Web Services 537
Conclusion 544
Chapter 13: How Do I . . . ? 546
How do I find more components? 547
How do I support file uploads? 548
How do I show an image map? 557
How do I produce binary data in a JSF page? 559
How do I show a large data set, one page at a time? 568
How do I generate a pop-up window? 573
How do I selectively show and hide parts of a page? 581
How do I customize error pages? 582
How do I write my own client-side validation tag? 588
How do I configure my application? 595
How do I extend the JSF expression language? 596
How do I add a function to the JSF expression language? [JSF 2.0 Topic] 599
How do I monitor the traffic between the browser and the server? 601
How do I debug a stuck page? 602
How do I use testing tools when developing a JSF application? 604
How do I use Scala with JSF? 605
How do I use Groovy with JSF? 607
Conclusion 608
Index 609
eBook (Watermarked)
This product currently is not for sale.
Also available in other formats.
Get access to thousands of books and training videos about technology, professional development and digital media from more than 40 leading publishers, including Addison-Wesley, Prentice Hall, Cisco Press, IBM Press, O'Reilly Media, Wrox, Apress, and many more. If you continue your subscription after your 30-day trial, you can receive 30% off a monthly subscription to the Safari Library for up to 12 months. That's a total savings of $199.

