Course Catalog
Curriculum Guides
  .NET
  Java/J2EE
  XML
Downloads
Buy Courseware
Customization
News
Authors
Technical Library
FAQ
About Object Innovations
Opportunities
Contact Us
Home

 

 

   
www.objectinnovations.com
info@objectinnovations.com
877-558-7246 (toll free)  
781-466-8012  

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.