Skip to main content

Instructor-led training

JSF Development with ICEfaces Training in Mountain Brook, Alabama

This comprehensive course puts the experienced Java developer in good position to build sophisticated web applications using JavaServer Faces and the ICEfaces component library.

What you'll learn

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.

Prerequisites

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

Training locations

JSF Development with ICEfaces training across the U.S. and beyond.

We provide JSF Development with ICEfaces training onsite and live online for organizations throughout the United States and internationally.

View all JSF Development with ICEfaces training locations

Train your team with HSG

Private, instructor-led training customized for your organization.

  • Onsite or live online delivery
  • Customized curriculum
  • Training for groups of 3 or more
  • Flexible scheduling
  • Experienced instructors
Request a Training Proposal

Questions? Call us at 303.377.6176
or email info@hartmannsoftware.com

Ready to train your team?

Let's customize this training for your organization.

Tell us about your employees, your goals, and your preferred schedule. We'll prepare a training proposal covering scope, delivery format, and pricing.