JSF Development with ICEfaces Training

Enroll in or hire us to teach our JSF Development with ICEfaces class in J S F Developmentwith, I C Efaces by calling us @303.377.6176. Like all HSG classes, JSF Development with ICEfaces may be offered either onsite or via instructor led virtual training. Consider looking at our public training schedule to see if it is scheduled: Public Training Classes
Provided there are enough attendees, JSF Development with ICEfaces may be taught at one of our local training facilities.

Answers to Popular Questions:

Yes, this class can be tailored to meet your specific training needs.
Yes, we provide Java Programming consulting services.
Yes, group discounts are provided.

Course Description

This comprehensive course puts the experienced Java developer in good position to build sophisticated web applications using JavaServer Faces and the ICEfaces component library. A first module introduces the best-practice concepts of MVC architecture and command-object encapsulation that propel the JSF architecture. Students create JSF 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 generally get accustomed JSF programming practice. The second module begins with backgrounders in both JSF custom component architecture and Ajax development, as these are essential to understanding both the purpose and the design of ICEfaces. Then, the bulk of this module consists in practical, hands-on exercise with ICEfaces. We focus on Ajax -- partial submits and responses, and Ajax Push -- and other cross-cutting features of the framework. Then we survey the component library, drilling down on a few of the most interesting components and getting a feel for the capabilities of the library as a whole. By the end of the course students are building applications with popup calendars, modal dialogs, tabbed panes, tables, and other cutting-edge UI features.
Course Length: 1 Days
Course Tuition: $1690 (US)


This course is intended primarily for experienced JSF application developers. Java programming experience is essential. 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.

Course Outline


Module 1. JavaServer Faces

Chapter 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

Chapter 2. Lifecycle and Page Navigation

  • The JSF Request/Response Cycle
  • Lifecycle Phases
  • The FacesContext Class
  • Who Does What
  • View Selection
  • Navigation Rules
  • Outcomes

Chapter 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

Chapter 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

Chapter 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

Chapter 6. Converters

  • The Adapter Pattern
  • The Converter Interface
  • Standard Converters
  • Working with Enumerated Types
  • Timing of Conversion
  • Custom Converters
  • Configuring Converters

Chapter 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

Module 2. ICEfaces

Chapter 1. Custom Components

  • UI Component Libraries
  • Using a Custom Component Library
  • The Components of a Component
  • Delivering JavaScript
  • Blending Client- and Server-Side Logic

Chapter 2. Ajax Applications

  • What is Ajax?
  • Request Formats
  • Asynchronous Response Handling
  • Alternatives: XMLHttpRequest
  • Alternatives: Direct Web Remoting
  • JSF for Ajax
  • ICEfaces

Chapter 3. ICEfaces Architecture

  • The ICEfaces Value Proposition
  • Acquiring and Configuring ICEfaces
  • PersistentFacesServlet and BlockingServlet
  • JSP, JSP Documents, and Facelets
  • Ajax via "Parital Submit"
  • Ajax Push: RenderManager vs. SessionRenderer
  • Drag and Drop
  • Security Features

Chapter 4. ICEfaces Components

  • Extended Components
  • Custom Components
  • Layout Managers
  • Component Stylesheets
  • <ice:dataTable>
  • <ice:selectDateInput>
  • <ice:panelTooltip>
  • <ice:panelPopup>
  • <ice:panelTabSet>
  • <ice:outputChart>
  • Visual Effects

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

Course Directory [training on all levels]

Upcoming Classes
Gain insight and ideas from students with different perspectives and experiences.

Interesting Reads Take a class with us and receive a book of your choosing for 50% off MSRP.