Consulting Training Blog Careers About Us Contact Us
All Classes Will Be Held Virtually – Live Online Intertech's Training Division has been successfully instructing professionals through virtual live online training since the advent of the smartboard. It is a proven form and offers the convenience of live questions, group interaction, and labs with an instructor looking over your shoulder. Because of this, we will continue all classes live but virtually, including Agile and Scrum instruction, so businesses and individual’s seeking professional development can keep moving forward during these unexpected times.

Complete JavaServer Faces (JSF 1.2) using Eclipse Training

Course ID: WAS1618
Duration: 4 Days

Upcoming Classes

Click the Get Notified button for priority notification when a class is next scheduled.

Get Notified

On Site/Private

Can't find a class that fits right for you? Contact us to inquire about scheduling your own private class

Contact Us


This course introduces the developer to the JSF 1.2 architecture and provides the basis for planning, developing, and deploying Web based applications using the JSF 1.2 framework. After taking this class, the developer will be able to quickly construct dynamic server-side web pages using JSF 1.2.

Bring This Course To You

For groups of 5 or more, let Intertech bring this course to your location. Customized versions tailored towards your objectives are also available.

Learn More


Participants should already have a solid understanding of Java programming and understand the basics of XML. The course also assumes a basic understanding of HTML syntax and JavaServer pages syntax. Understanding of Enterprise Java Beans (EJB) is also a plus.

Course Outline

Introduction to JavaServer Faces

  • What is JavaServer Faces (JSF)?
  • Why Use JSF?
  • Nature of a JSF Application
  • The Sun Reference Implementation (RI)
  • JSF and MVC
  • Faces Servlet
  • Managed Bean
  • The View
  • A Simple JSF Application
  • The Input Form: form.jsp
  • The Result: thanks.jsp
  • The Controller: AddressBean
  • Page Flow or Navigation Rule
  • How Does the Application Work?
  • Under the Covers: The Rendered Form HTML
  • Under the Covers: The Layout Tree

Managed Bean

  • What is a Managed Bean?
  • Why Do You Need Managed Beans?
  • Managed Bean As a Controller
  • Registering a Managed Bean
  • Lifecycle of a Managed Bean
  • Initializing a Managed Bean
  • What Scope to Use?
  • Value Binding
  • Property Data Conversion
  • Advanced Property Types
  • Component Binding
  • Other Binding Types
  • Basic Input Processing
  • Advanced Input Processing
  • JSF Expression Language
  • Language Basics
  • Use of Expression in JSF
  • Basic Expression
  • Property Access Expression
  • Map Access Expression
  • Complex Access Expression
  • Predefined Objects
  • Operators

User Interface Components

  • JSF UI Components
  • JSF Component Tag Libraries
  • Using the Tag Libraries
  • HTML Tag Library
  • Identifying Components
  • Component Identifier
  • Client Identifier
  • Form Input Field Names
  • Define a Form
  • Labels and Images
  • Buttons
  • Links
  • Adding Parameters to Links
  • Text Input
  • Simple Check Box
  • Check Box Group
  • Radio Button
  • List Boxes
  • Dynamic List Box
  • JSF Core Library
  • JSF Core Library - Components
  • JSF Component Model
  • Base Class Hierarchy
  • Useful Base Classes
  • Useful HTML Classes

JSF Event Handling

  • Request Processing Phases
  • Action Request Processing Phases
  • JSF Event and Listener Model
  • JSF Event Classes
  • Event Classes
  • Event Classes: Hierarchy
  • Action Event Handling
  • Action Event: Example
  • Action Listener
  • Value Change Event
  • Value Change Event Handler
  • Listener Classes
  • Listener Interfaces
  • Listener Classes: Hierarchy
  • Action Listener Class
  • Value Change Listener Class
  • Phase Event Listener
  • Request Processing Lifecycle
  • Phase Identifiers

JSF Navigation

  • JSF Navigation
  • Example Action Listener
  • faces-config.xml File
  • JSF Navigation
  • Navigation Rules: Example
  • Choosing Between Redirect and Direct Rendering
  • Navigation: Scenarios


  • Validation
  • Standard Validators
  • Checking for Required Values
  • Showing Validation Error Messages
  • Customizing Standard Error Messages
  • Standard Validaton Error Messages
  • Validation Process
  • Sequence Diagram
  • Bypassing Validation
  • Immediate Command Components
  • Immediate Input Component
  • Accessing User Input
  • Advanced Field Validation
  • Advanced Error Handling

Advanced GUI Components

  • HTML Panel
  • Applying Styles
  • Grouping Components
  • Data Table
  • Using a Data Table
  • Data Table Model
  • Using a Data Table
  • Displaying a Header and Footer Row
  • Applying Styles
  • Adding Links to a Row
  • Using Component Binding
  • Handling Action
  • Using the Data Table Model

JSF Techniques

  • A Typical Application
  • The Create Form
  • Create Action Method
  • Listing Items
  • Editing an Item
  • Adding the Edit Link
  • The Edit Form
  • Update Item
  • Things to Keep in Mind

Unified Expression Language

  • Value Expressions
  • Method Expressions
  • Chained Resolution
  • Operators [] and .
  • Arithmetic Operators
  • Relational Operators
  • Logical Operators
  • Test for Empty Collection
  • Conditional Operator
  • Order of Evaluation
  • Introduction to JSTL
  • Using JSTL with JSF
  • The Tag
  • The Tag
  • The Tag
  • The Tag
  • or
  • International Test Display Tags

Data Conversion Model

  • Conversion Overview
  • Different Viewpoints of Data
  • Process of Conversion
  • Why Local Values?
  • Types of Standard Converters
  • Standard Converters with JSF
  • Three Ways to Use Standard Converters
  • Bind UI Component to Backing Bean Property
  • Use "converter" Attribute on the UI Component
  • Use Tag with ConverterId Attribute
  • Usage of Standard Converters
  • Output of Using Standard Converters
  • Converter Attribute
  • Standard Converters to Display Output
  • Standard Converters: Screen Shot
  • Conversion Errors
  • Displaying Error Messages
  • Conversion Tag
  • Conversion Error: Display
  • Conversion Error
  • Custom Converter
  • Registering the Converter
  • Using the Registered Converter
  • Conversion Errors

Introduction to Facelets

  • Constructing and Rendering a View (JSP way)
  • Facelets
  • Getting Facelets
  • Using Facelets
  • Page Templets
  • Define a Page Template
  • Define a Template Client 

Custom Validators

  • Validation Review
  • Custom Validators
  • The Validator Interfaces
  • Creating a Custom Validator
  • Creating a JSP Custom Tag
  • The ValidatorELTag Class
  • Create the TLD File
  • Using the Custom Tag
  • Validation from Managed Bean
  • Add Validation Logic
  • Use the Managed Bean Validator

Internationalization (l18N)

  • Internationalization
  • l18N
  • Locales
  • Default Locales
  • Resource Bundles
  • Updating Faces-Config.xml
  • Updated faces-config.xml
  • Loading the Bundle
  • Display Localized Text
  • Example - Resource Bundles
  • Update faces-config.xml
  • JSP
  • View the JSP
  • Benefits
  • Parameterized Messages
  • Displaying Parameters
  • Parameterized Messages
  • Changing the Locale

MyFaces Tomahawk

  • What is Tomahawk?
  • Tomahawk Compatibility
  • Adding Tomahawk Support
  • Add Tomahawk Libraries
  • Update web.xml
  • Declare the Tomahawk Taglib
  • Tomahawk Features
  • JSCookMenu
  • Date Input
  • Data Scroller
  • File Upload
  • Tree2
  • Tabbed Panes

Appendix: Custom Components

  • Requirements to Develop Custom Components
  • Packages Useful for Custom Component Developer
  • javax.faces.component.UIComponent
  • Decoding
  • UIComponentTag
  • Implementing Custom Component Tags
  • FacesContext
  • javax.faces.application.Application
  • javax.faces.context.ResponseWriter
  • Encoding Markup: Generating
  • javax.faces.component.UIComponent
  • javax.faces.component.EditableValueHolder
  • Tag Library: TLD
  • Faces configuration file: faces-config.xml
  • faces-config.xml
  • Sample.jsp: Example Showing the Relationship Between the JSF Artifacts
  • External Renderer
  • Render Defined in faces-config File
  • Implementing the Renderer
  • Event Listeners
  • Using ActionListener in JSP
  • ActionListener in the Java Code
  • ActionListeners in JSF
  • Create Input Form#
  • Input Form (Code)
  • Update faces-config.xml
  • ActionEvent Handling

Free Resources from Intertech

Free Tutorial: Spring Batch Admin

Free eBook: Top Freeware Picks for Developers

Free Whitepaper: Spring 4 – Conditional Bean Configuration