AM-204: JSF QuickStart: Getting started with Java Server Faces (JSF)

WorkShop Overview

After completing this course you will have the skills to design and build JSF-based web applications.

Length

2 day, 3 day and 4 day versions of the course

Course Abstract:

JavaServer Faces (JSF) provides event driven, component –based technology for developing J2EE web applications. This technology greatly simplifies developing web applications. Finally, Java web developers can assemble reusable UI components into rich GUI pages. A standard UI component model will create a rich third party market of reusable GUI components. JSP is to JavaServer Faces as ASP is to ASP.net.

This course is focused around labs. All lessons prepare the students to work on the labs. Our lab books are extensive.

The lesson book and the lab book are in full color. Color syntax highlighting makes code listing easier to read.

This is our highest rated course.

Endorsement: When looking to bring in a trainer for a JavaServer Faces course, we evaluated many courses and instructors. The JSF course offered by ArcMind was simply better organized and more substantive than the rest. The class material and the labs were very good and I would recommend this course to anyone.” -Noah (Senior Architect) Read more >>

 Day 1

   1. Intro to JavaServer Faces
         1. JavaServer Faces Technology Benefits
         2. JSF Architecture Overview
   2. Creating your first JSF application
         1. Configuring JSF
         2. Installing the JSF servlet
         3. Creating a simple application
         4. Creating a backing bean
         5. Configuring page flow navigation
         6. Using JSF custom tags
         7. Setting up a view in JSF
         8. Lab 1: simple application
   3. Understanding JSF lifecycle
         1. Covers major phases of the lifecycle
         2. Developer's role in each phase
         3. System's role in each phase
         4. How to handle immediate events
         5. How to stop rendering
         6. How to skip to render response phase
   4. Using UI Components
         1. Understanding component architecture
         2. RenderKit basics
         3. Event Model
         4. User Interface Component Model
         5. Writing event handlers
         6. Three ways to handle an event
         7. Understanding navigation flow and the default event handler
         8. Using JSF Custom Tags
         9. Working with various input tags
        10. Working with panels and tables
        11. Lab 2: CRUD Listing
        12. Lab 3: Continuing the CRUD listing

Day 2

   1. Understanding MVC
         1. MVC and JSF
         2. Model Components
         3. View Components
         4. Controller Components
         5. How navigation is controlled by the controller
         6. Lab 4: Creating a shopping cart
   2. JSF Validation and Data Conversion
         1. Using Standard Validation components
         2. Creating Custom Validation components
         3. Using Standard data conversion
         4. Writing custom data conversion
         5. Lifecycle issues, data converters and validators
         6. Regular expression review
         7. Lab 5: Performing data conversion and validation with user registration form
   3. Understanding Custom Components
         1. Creating Custom components
         2. When (not) to create custom components
         3. Understand the rendering model
         4. Steps to develop your own custom component

    

Is your team new to Spring? You can combine our JSF and Spring courses into your own custom course.

Day 3

   1. Lab 6: Writing three custom components
   2. Advanced Component Concepts
         1. External renderers
         2. Value Binding
         3. Method Binding
         4. Component context
         5. Working with Events
         6. State Management
         7. Architecture review of components for component developers
         8. Lab 7: Extend three components
   3. Working with Table Models and Immediate event handling
         1. Editing Tables
         2. Sorting
         3. Filtering
         4. Pagination
         5. Setting up and using immediate event handling
         6. Lab 8: Improving our CRUD listing
   4. Working with Tiles (Optional)
         1. Why Tiles
         2. Configuring Tiles to work with JSF
         3. Creating a site layout
         4. Creating tile components
         5. Working the JSF subviews
         6. Lab 9: Creating a site layout for our CRUD application
         7. Lab 10: Creating a view component for our user registration application

Alternative Day 4 (Optional)

   1. Overview of Facelets (Optional)
         1. Facelets Templating
         2. Lab: Creating Facelets Templates
         3. Composition Component
         4. Passing Subelements (ui:insert)
         5. Passing Actions
         6. Lab: Writing a Composition Component
         7. Creating EL Functions
         8. Creating Facelets Logic tags
         9. Lab: Writing a Facelets Logic Tag
   2. Working with JSF and CSS (Optional)
         1. CSS important to JSF
         2. CSS fundamentals
         3. How do I?
         4. Lab: Improve CRUD application
   3. Working with JSF and JavaScript (Optional)
         1. JavaScript important to JSF
         2. JavaScript fundamentals
         3. Lab: Improve CRUD application with JavaScript
   4. Spring JSF Integration (Optional)
         1. Spring's web application support
         2. Working with Spring's PhaseListener Support
         3. Lab: Creating a PhaseListener that does object level validation
         4. Working with Spring's NavigationHandler Support
         5. Lab: Creating a simplified NavigationHandler Support
         6. Working with DelegatingVariableResolver and WebApplicationContextVariableResolver
         7. Lab: Integrating Spring and JSF for managed bean support
         8. Using a custom JSF Application object
         9. Lab: Configuring JSF Validators
   5. Advanced Topics and Best Practices (Optional)
   6. Advanced JSF (Optional)
         1. Extending JSF with PhaseListener and NavigationHandlers
         2. Lab: Working with PhaseListener
         3. VariableResolvers and PropertyResolvers
         4. Lab: Working with VariableResolvers and PropertyResolvers
   7. Additional optional topics (Optional)
         1. RichFaces Components
         2. a4j Components
         3. Seam