JAVASERVER FACES (JSF) WEB APPLICATION PROGRAMMING USING WEBLOGIC SERVER 11G AND JDEVELOPER – GTJ18

Course Description

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

TOPICS

  • Introduction and Overview
  • The JSF Architecture
  • JSF Request Objects
  • JSF User Interface components
  • The EL Expression Language and Advanced User Interface components
  • Event Handling
  • Data Validation
  • Data Conversion
  • Rendering Custom User Interface Objects
  • Facelets
  • Internationalization (i18n)

WHAT YOU WILL LEARN

After completing this course, the student should be able to:

  • Become familiar with the JSF tags for the commonly used HTML components in a form.
  • Learn how to write event handler methods in a managed bean.
  • Learn how to register the event handler method with a GUI component.
  • Write navigation rule in faces-config.xml.
  • Control the sequence of page display based on certain business logic.
  • Add very besic validation to the intro.jsp page
  • Display objects in an ArrayList in a data table.

^^

Duration

5 days

^^

Target Audience

Software designers, developers and programmers

^^

Course Prerequisites

Intermediate level Java programming knowledge. The following course satisfies this requirement:

GTJ01 – Introduction to Java Using Eclipse

^^

Suggested Follow on Courses

There are a number of options of suitable follow-on courses, depending on your business needs. Please contact us for further details.

^^

Course Content

CHAPTER 1. 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

JSF and MVC

Faces Servlet

Faces Servlet

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?

How Does the Application Work?

Under the Covers: The Rendered Form HTML

Under the Covers: The Layout Tree

CHAPTER 2. 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

Value Binding

Property Data Conversion

Advanced Property Types

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

CHAPTER 3. USER INTERFACE COMPONENTS
JSF UI Components

JSF UI Components

JSF Component Tag Libraries

Using the Tag Libraries

HTML Tag Library

HTML Tag Library

Identifying Components

Component Identifier

Client Identifier

Form Input Field Names

Define a Form

Labels and Images

Buttons

Links

Links

Adding Parameters to Links

Text Input

Simple Check Box

Check Box Group

Check Box Group Example

Radio Button

List Boxes

List Boxes

List Boxes

Dynamic List Box

Example

Another Example

JSF Core Library

JSF Core Library – Components

JSF Core Library – Components

JSF Core Library – Components

JSF Core Library – Components

JSF Core Library – Components

JSF Component Model

JSF Component Model

Base Class Hierarchy

Useful Base Classes

Useful HTML Classes

Useful HTML Classes

CHAPTER 4. JSF EVENT HANDLING
Request Processing Phases

Action Request Processing Phases

Action Request Processing Phases

Action Request Processing Phases

JSF Event & 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

Value Change Event Handler

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

Phase Identifiers

CHAPTER 5. JSF NAVIGATION
JSF Navigation

Example Action Listener

faces-config.xml File

JSF Navigation

JSF Navigation

JSF Navigation

Navigation Rules: Example

Navigation Rules: Example

Choosing Between Redirect & Direct Rendering

Navigation: Scenarios

CHAPTER 6. VALIDATION
Introduction

Validation

Validation

Standard Validators

<f:validateLength>

<f:validateDoubleRange>

<f:validateLongRange>

Checking for Required Values

Checking for Required Values

Showing Validation Error Messages

Customizing Standard Error Messages

Standard Validation Error Messages

Standard Validation Error Messages

Validation Process

Validation Process

Sequence Diagram

Bypassing Validation

Immediate Command Components

Immediate Input Components

Accessing User Input

Immediate Command Component Example

Immediate Input Component Example

Advanced Field Validation

Model Layer Error Handling

CHAPTER 7. ADVANCED GUI COMPONENTS
HTML Panel

Applying Styles

Grouping Components

Data Table

Using a Data Table

Data Table Model

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

Handling Action

CHAPTER 8. JSF TECHNIQUES
A Typical Application

The Create Form

The Create Form

Create Action Method

Listing Items

Listing Items

Listing Items

Editing an Item

Adding the Edit Link

The Edit Form

Update Item

CHAPTER 9. UNIFIED EXPRESSION LANGUAGE
Unified Expression Language

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 <c:out> Tag

The <c:if> Tag

The <c:choose> Tag

The <c:forEach> Tag

<c:forEach> or <h:dataTable>?

International Text Display Tags

CHAPTER 10. 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 <f:converter> 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

CHAPTER 11. INTRODUCTION TO FACELETS
Constructing and Rendering a View (JSP way)

Facelets

Getting Facelets

Using Facelets

Page Templates

Define a Page Template

Run the Template Client

CHAPTER 12. CUSTOM VALIDATORS
Introduction

Validation Review

Custom Validators

The Validator Interfaces

Creating a Custom Validator

Custom Validator Example

Custom Validator Example

Custom Validator Example

Creating a JSP Custom Tag

The ValidatorELTag Class

Custom Validator Example

Custom Validator Tag Example

Create the TLD File

Using the Custom Tag

Validation from Managed Bean

Add Validation Logic

Use the Managed Bean Validator

CHAPTER 13. INTERNATIONALIZATION (I18N)
Internationalization

I18N

Locales

Default Locales

Resource Bundles

Updating 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

CHAPTER 14. CUSTOM COMPONENTS
Custom Components

Requirements To Develop Custom Components

Classes Useful for Custom Component Developer

javax.faces.component.UIComponent

Decoding

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

JSP: Example Showing Relationship Between JSF Artifacts

Generated HTML: Example Showing the Relationship Between the JSF Artifacts

TLD: Example Showing the Relationship Between the JSF Artifacts

Faces Configuration: Example Showing the Relationship Between the JSF Artifacts

Component Class: Example Showing the Relationship Between the JSF Artifacts

External Renderer

Renderer Defined in faces-config.xml

Implementing the Renderer

Renderer Example

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

CHAPTER 15. MYFACES TOMAHAWK
What is Tomahawk?

Tomahawk Compatibility

Adding Tomahawk Support

Add Tomahawk Libraries

Update web.xml

Declare the Tomahawk Taglib

Tomahawk Features

Tomahawk Features

JSCookMenu

Date Input

Data Scroller

File Upload

Tree2

Tabbed Panes

^^

See more WebLogic courses