115. JavaServer Faces
Rev. 1.2.3
This course is now available directly from our partner, Capstone Courseware.
This course introduces the JavaServer Faces API for Java Web
application development. Proceeding from a foundation of Java, Servlets, and
JSP, the course develops the best-practice concepts of MVC architecture and
command-object encapsulation that propel the JSF architecture. Students create
JSF Web applications by organizing their pages as JSF component trees, and
their server-side code as JSF managed beans and controllers. They add
data-conversion and validation logic and learn to work with JSF's data-table
control.
LEARNING OBJECTIVES
·
Understand the purpose and scope of the JSF
architecture
·
Build Web applications using JSF's FacesServlet,
faces-config.xml, and the JSF request/response lifecycle
·
Use the JSF custom tag libraries to build JSF
views as JSPs.
·
Use managed beans to encapsulate not only
server-side form handling but also client-side presentation logic
·
Implement control logic as JSF event listeners
or action methods.
·
Use validators and converters to implement a
validation phase for a JSF application.
Course Duration: 3
days.
Audience: This course is
intended primarily for experienced Java application developers. Page authors,
component developers, and others who may have little or no Java experience (but
perhaps are stronger on HTML and JSP) may well find this to be a valuable
training experience, though without solid Java skills many of the coding
exercises will be difficult to follow..
Prerequisites:
·
Java programming experience is essential to
understanding the JSF API as presented here -- Course 103 is excellent
preparation.
·
JSP page-authoring experience is required --
Course 112.
·
Servlets programming experience is recommended
but not required -- Course 110.
·
Basic knowledge of XML will be helpful, as will
any previous experience with HTML.
1.
Overview
Java EE and Web Applications
Perspectives: Servlets and JSP
The Model/View/Controller Pattern
Perspectives: MVC Frameworks
The Command Pattern
Perspectives: AWT and JFC
JSF Value Proposition
JSF Configuration
2.
Lifecycle and Page Navigation
The JSF Request/Response Cycle
Lifecycle Phases
The FacesContext Class
Who Does What
View Selection
Navigation Rules
Outcomes
3.
User Interface Components
The Composite View Pattern
The UIComponent Class
Behavioral Interfaces
The Core and HTML Tag Libraries
Relationship to CSS
ID, Client ID, and Label
The UISelectItem(s) Class
Navigating the UI Tree
4.
Managed Beans
JavaBeans and JSF
Backing Beans
The Factory Pattern
Managed Beans
Coarse-Grained Beans
The Unified Expression Language
Value Expressions
Dependency Injection
Bean Scopes
5.
Events and Controllers
The Observer Pattern
JSF Event Model
Event Types and Timing
Event Queueing
ActionEvent and ActionListener
Action Methods
Connecting Controllers to Beans
Dynamic Outcomes
ValueChangeEvent and ValueChangeListener
Limitations of FacesListeners
6.
Converters
The Adapter Pattern
The Converter Interface
Standard Converters
Working with Enumerated Types
Timing of Conversion
Custom Converters
Configuring Converters
7.
Validators
Validating Input
The Validator Interface
Standard Validators
Producing Error Messages
Message Keys
Presenting Error Messages
Custom Validators
Validating Multiple Inputs
Using a PhaseListener
8.
Data Tables (Optional)
Managing Tabular Data
The JSF Data Table
Columns
Facets
Limitations and Strategies
Nesting Tables
Appendix A. Learning
Resources
Appendix B. JSF Quick Reference
JSF Custom Tags
Packages and Classes
JSF API: Finding Things
JSF API: Controllers, Converters, and Validators
System Requirements
Hardware – minimal: 500 MHz, 256 meg RAM, 500 meg disk space
Hardware – recommended: 1.5 GHz, 512 meg RAM, 1 gig disk
space
Operating system: Tested on Windows XP Professional.
Course software should be viable on all systems which support a J2SE 5.0 JDK.
Software: All
free downloadable tools.