JSF 2.0 Training


Request an offer for delivery of this course

Course duration

Course Outline

This comprehensive course shows Java programmers how to build web applications with JavaServer Faces 2.0. We develop the best-practice concepts that are formalized by the JSF architecture, from model/view/controller to the UI component framework and request-handling lifecycle. Students start to discover that there is a "JSF way" of doing things, and we learn not just APIs and tag libraries but the habit of slicing application logic into its most reusable forms: managed beans, event listeners, converters, validators, and more.

Students acquire a firm command of JSF development, learning to work with JSF's list and table components, building reusable composite components, and building Ajax applications. Simple, high-level Ajax functionality is covered, and students also work more directly with JSF's JavaScript API and resource-management framework.

  1. Overview
    1. Java EE and Web Applications
    2. Perspectives: Servlets and JSP
    3. Perspectives: MVC Frameworks
    4. Perspectives: AWT and JFC
    5. JSF Value Proposition
    6. JSF Configuration
    7. Issues with JSP and JSF
    8. Facelets
  2. Lifecycle
    1. The JSF Request/Response Cycle
    2. Lifecycle Phases
    3. Phase Listeners
    4. The FacesContext Class
    5. Who Does What
    6. Partial Request Cycles
  3. UI Components
    1. The UIComponent Class
    2. Behavioral Interfaces
    3. The Core and HTML Tag Libraries
    4. Relationship to CSS
    5. ID, Client ID, and Label
    6. UISelectItem(s)
    7. Navigating the UI Tree
    8. The binding Attribute
  4. Page Navigation
    1. View Selection
    2. Navigation Rules
    3. Implicit Navigation
    4. Problems with POSTback
    5. Post/Redirect/Get
    6. Support for HTTP GET
    7. Conditional Navigation
  5. Managed Beans
    1. JavaBeans and JSF
    2. Backing Beans
    3. Configuring Managed Beans
    4. @ManagedBean and Related Annotations
    5. The Unified Expression Language
    6. Value and Method Expressions
    7. Implicit Objects
  6. Scopes
    1. Managed-Bean Scopes
    2. Lifecycle Annotations
    3. View Parameters
    4. The Flash
  7. Dependency Injection
    1. Managed Properties
    2. Values, Lists, and Maps
    3. Using Dynamic Expressions
    4. Dependencies and Bean Scopes
    5. The @ManagedProperty Annotation
  8. Facelets
    1. Migrating from JSP
    2. View Definition Languages
    3. Facelets
    4. Tag Libraries
    5. Writing and Using Custom Tags
  9. Events and Listeners
    1. JSF Event Model
    2. Event Types and Timing
    3. Event Queueing
    4. ActionEvent and ActionListener
    5. Action Methods
    6. Connecting Controllers to Beans
    7. ValueChangeEvent and ValueChangeListener
    8. Deferring Event Processing
    9. Limitations of FacesListeners
  10. Lists and Tables
    1. Working with Collections
    2. Why We Don't Use <c:anything> <c:anyMore>
    3. <ui:repeat> vs. <c:forEach>
    4. <h:dataTable>
    5. Defining Columns and Facets
    6. One Command Per Row
    7. Reading the Row Number
    8. Pseudo-Maps
    9. Working with Persistent Data
    10. Concurrency and Caching
    11. Limiting the Scope of Queries
    12. Paging
  11. Converters
    1. The Converter Interface
    2. Life of a Datum
    3. Standard Converters
    4. Custom Converters
    5. The @FacesConverter Annotation
    6. Timing of Conversion
    7. Representing Persistent Objects by ID
  12. Validators
    1. The Validator Interface
    2. Standard Validators
    3. Using Regular Expressions
    4. Producing Error Messages
    5. Message Keys
    6. Presenting Error Messages
    7. Posting Error Messages from Anywhere
    8. Custom Validators
    9. The @FacesValidator Annotation
    10. Validating Multiple Inputs
    11. JSR-303 Support: "Bean Validation"
  13. Resources
    1. Resource Libraries
    2. Deploying Images, Scripts, and Stylesheets
    3. Addressing Resources
  14. Composites
    1. Limitations of Custom Tags
    2. Composite Components
    3. Encapsulation
    4. Deploying and Using Composites
    5. Interface and Implementation
    6. Impact on the UI Tree
    7. Attributes
    8. Retargeting
  15. Ajax
    1. What is Ajax?
    2. The XMLHttpRequest Object
    3. Ajax and the JSF Lifecycle
    4. Using <f:ajax>
    5. execute and render Attributes
    6. Ajax Listeners
  16. The JSF JavaScript API
    1. The JSF JavaScript API
    2. Trigering Ajax Requests
    3. Refining <f:ajax> with Callbacks
    4. onevent and onerror Attributes
    5. The Ajax Request/Response Process
    6. Using Hidden Inputs
    7. Other JavaScript Functions

InterSource Geneva, a premier Information Technology training firm, offers over 400 different courses on server, database and programming technologies, as well as end-user classes for the most popular office, graphics and design applications. We serve clients in Switzerland (Geneva, Lausanne, Bern, Basel, Zurich) and throughout Europe (France, Germany, Austria, Finland, Sweden, England, Netherlands, Spain, etc.).

InterSource offers custom, private courses at client sites, standard public courses in our Geneva classroom, and online training via live Web conference. Training is offered in English and many other languages (Francais, Deutsch, Espanol, Italiano.)

For an overall view of our offerings, please visit us at www.intersource.ch.