JA10 - Java Web Development with JSF - 3 Days

View Dates and Locations

Course Description

This course describes how to create complex Web pages by using JavaServer Faces (JSF) 2.2. You will learn how to define web pages using the JSF tag libraries, implement event handling in managed beans, and define navigation and configuration information.

The course includes comprehensive coverage of Facelets, which enables you to create template pages and composition components. Additionally, the course shows how to utilize built-in Ajax support, plus advanced features of the RichFaces library.


At least 6 months Java programming experience. Familiarity with HTML and web development would be an advantage.


What you will learn:

  • Understand JSF architecture
  • Using JSF components
  • Defining and configuring managed beans
  • Converting and validating user input
  • Implementing navigation rules between pages
  • Creating Facelets templates and custom components
  • Implementing Ajax-enabled web pages


For on-site courses (i.e. at your premises), we are more than happy to tailor the course agenda to suit your exact requirements. In many cases, we are able to build your in-house standards and naming conventions into the delivered course.

On-site course enquiry (from £165 pp per day)

Course Details

View Dates and Locations

Introduction to JSF
Web development concepts
JSF goals and benefits
Architecture of a JSF application
JSF components, managed beans, and configuration files
Building and deploying a JSF application

Using JSF Tags
Recap of JSP tag library concepts
Overview of JSP tag libraries
Defining JSF forms and forms
Input and output tags
Buttons and hyperlinks
Checkbox lists, radio button lists, list boxes, and menus

Defining Managed Beans
MVC concepts
Overview of managed beans
Defining a managed bean
Defining the scope of a managed bean
Mapping beans to UI components
Binding to values and methods
Defining event handlers
Configuring managed beans
Defining dynamic beans

JSF Lifecycle
Overview of the JSF lifecycle
Capturing the original view state
Capturing user input
Validating input
Updating the model
Firing events
Rendering controls

Navigating between Pages
How to control navigational flow with JSF
Defining configuration information for page navigation
Defining unconditional navigation
Defining conditional navigation
Defining a choice of paths

Converting and Validating Data
Conversion and validation in the JSF lifecycle
Conversion concepts
Using built-in converters
Displaying error messages
Defining custom converters
Validation concepts
Using built-in validators
Defining custom validators

Data Binding
Overview of data binding in JSF
Bindable data sources
Binding single-value controls
Overview of data tables
Defining headers, footers, and columns
Defining styles
Supporting editing and sorting

Using Facelets
Overview of Facelets
Defining a Facelets view handler
Defining and using a Facelets template
Using composition controls
Creating custom controls in Facelets

Overview of Ajax
Using built-in Ajax features
Making effective use of the RichFaces Ajax library


Course Enquiry