1-877-WEBUCATE
(1-877-932-8228)
info@webucator.com
 
Microsoft Training
Java Training
XML Training
Database & SQL Training
PHP, Perl, ASP, Groovy, Grails, Ruby on Rails Training
HTML, JavaScript, Ajax & CSS Training
Adobe CS3 Training
◊ PRIVATE J2EE TRAINING


Need a private class for your team delivered at your site or a location near you?
For private groups of three or more, Webucator offers completely customizable and cost-effective J2EE classes delivered at your offices or a location near you.

To have someone contact you about these classes, please fill out the form below.

* (Required)
* (Required)
* (Required)
* (Required)
* (Required)
(The number of people requiring training)
(For Federal Government Pricing)
* (Required)

JSF Training with Custom Components and Ajax (5 days)


This J2EE class is delivered for private groups onsite at your offices or a location of your choice. It can also be delivered via the Internet for geographically distributed staff.

Click here for our public J2EE classes

JavaServer Faces Overview

This course is an extension of Course 115, adding a two day-module on advanced techniques focused on custom component libraries, JavaScript, and Ajax. 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.

Then, we change our perspective a bit and start thinking in terms of reusable component libraries -- using them and also developing them. Custom components prove to be the ideal delivery vehicle for JavaScript in JSF applications, and ultimately serve as the backbone of a robust Java/Ajax architecture. We work with two popular component libraries along the way -- Tomahawk and RichFaces -- and also get a look at Direct Web Remoting, or DWR.

A bridge module is also available that illustrates how JSF can work with EJBs and Java Persistence API entities; this brief presentation makes for a nice side trip during class time, for student groups who know they'll be working with JPA or EJB.

JavaServer Faces Course Goals

  • 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 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
  • Use custom component libraries.
  • Develop custom components for a variety of purposes, including composite components.
  • Use custom components to encapsulate and deliver JavaScript content.
  • Develop Ajax applications using JSF and DWR.
  • Develop Ajax applications using RichFaces.

JavaServer Faces Course Prerequisites

Experience in the following areas is required:

  • 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.
  • Java programming experience is essential to understanding the JSF API as presented here
  • JSP page-authoring experience is required
  • Servlets programming experience is recommended but not required
  • Basic knowledge of XML will be helpful, as will any previous experience with HTML.

JavaServer Faces Course Outline

  1. JavaServer Faces
    1. Overview
      1. Java EE and Web Applications
      2. Perspectives: Servlets and JSP
      3. The Model/View/Controller Pattern
      4. Perspectives: MVC Frameworks
      5. The Command Pattern
      6. Perspectives: AWT and JFC
      7. JSF Value Proposition
      8. JSF Configuration
    2. Lifecycle and Page Navigation
      1. The JSF Request/Response Cycle
      2. Lifecycle Phases
      3. The FacesContext Class
      4. Who Does What
      5. View Selection
      6. Navigation Rules
      7. Outcomes
    3. User Interface Components
      1. The Composite View Pattern
      2. The UIComponent Class
      3. Behavioral Interfaces
      4. The Core and HTML Tag Libraries
      5. Relationship to CSS
      6. ID, Client ID, and Label
      7. The UISelectItem(s) Class
      8. Navigating the UI Tree
    4. Managed Beans
      1. JavaBeans and JSF
      2. Backing Beans
      3. The Factory Pattern
      4. Managed Beans
      5. Coarse-Grained Beans
      6. The Unified Expression Language
      7. Value Expressions
      8. Dependency Injection
      9. Bean Scopes
    5. Events and Controllers
      1. The Observer Pattern
      2. JSF Event Model
      3. Event Types and Timing
      4. Event Queueing
      5. ActionEvent and ActionListener
      6. Action Methods
      7. Connecting Controllers to Beans
      8. Dynamic Outcomes
      9. ValueChangeEvent and ValueChangeListener
      10. Limitations of FacesListeners
    6. Converters
      1. The Adapter Pattern
      2. The Converter Interface
      3. Standard Converters
      4. Working with Enumerated Types
      5. Timing of Conversion
      6. Custom Converters
      7. Configuring Converters
    7. Validators
      1. Validating Input
      2. The Validator Interface
      3. Standard Validators
      4. Producing Error Messages
      5. Message Keys
      6. Presenting Error Messages
      7. Custom Validators
      8. Validating Multiple Inputs
      9. Using a PhaseListener
    8. Data Tables
      1. Managing Tabular Data
      2. The JSF Data Table
      3. Columns
      4. Facets
      5. Limitations and Strategies
      6. Nesting Tables
  2. Custom Components
    1. Using Custom Components
      1. Component Libraries
      2. Deployment Model
      3. Apache Tomahawk
    2. Developing Custom Components
      1. The Components of a Component
      2. Custom Tags and CSS vs. Custom Components
      3. The UIComponent Class
      4. The Renderer Class
      5. Encoding and Decoding
      6. The UIComponentELTag Class
      7. Using the Default Renderer
      8. State-Saving Concerns
    3. Composites
      1. Composite Components
      2. JSF Composite vs. HTML Composite
      3. Composite vs. Shell
      4. Creating, Configuring, and Assembling
    4. Delivering JavaScript
      1. Client-Side Scripting
      2. HTML Events and the HTML DOM
      3. Encoding Scripts
      4. JSF and Script Libraries
      5. Encoding Scripts Once
      6. Encoding Scripts Uniquely
    5. Ajax Applications
      1. What is Ajax?
      2. Request Formats
      3. Means of Triggering HTTP Requests
      4. Asynchronous Response Handling
      5. Direct Web Remoting
      6. Server-Side Strategies
      7. Invoking Managed Beans
    6. Ajax Components
      1. Server-Side Strategies: Another Look
      2. Model/View/Controller for Ajax
      3. JSF Lifecycle and Partial Page Rendering
      4. RichFaces
      5. Triggering Ajax Requests
      6. Re-Rendering
      7. Input Validation
      8. Customizing Custom Components

JavaServer Faces Course Materials

In addition to a comprehensive set of materials, including course notes and all the programming examples, each student will also receive a one-year subscription to Webucator's online reference library, which contains hundreds of the most current electronic technology books - a $149.95 per student value.

JavaServer Faces Technical Requirements

Complete Setup Instructions

home - onsite classes - instructor-led online courses - self-paced online courses - why webucator - partners - contact - sitemap
© 2008 Webucator. All rights reserved. info@webucator.com | Toll Free: 877-WEBUCATE (877-932-8228) | From Outside the USA: 315-849-2724 | Fax: 315-410-5320
Phoenix, AZ | Santa Clara, CA | Santa Clara, CA | Los Angeles, CA | Sacramento, CA | Washington, DC | Atlanta, GA | Chicago, IL | Indianapolis, IN | Muncie, IN
New Orleans, LA Boston, MA | Cambridge, MA | Charlestown, MA | Framingham, MA | Ipswich, MA | Lincoln, MA | Wellesley, MA | Worcester, MA | Bangor, ME | Detroit, MI
Raleigh, NC Winston-Salem, NC | Lincoln, NE | East Hanover, NJ | Eatontown, NJ | Madison, NJ | Parsippany, NJ | Trenton, NJ | Albany, NY | Buffalo, NY | Rochester, NY
New York City, NY | Syracuse, NY | West Babylon, NY | Dayton, OH | Bethlehem, PA | Philadelphia, PA | Pittsburgh, PA | Pittsburgh, PA | State College, PA
Middletown, RI | Rapid City, SD | Austin, TX | Dallas, TX | Houston, TX | Arlington, VA | McLean, VA | Seattle, WA | Toronto, Canada | Ottawa, Canada | Calgary, CA