Training » All Courses » Java » JavaEE » JSF 2.0

Course Summary

Let's admit it: JSF 1.x was a pain in the neck. Sure, it was the only major Web app framework that was part of the Java EE spec, and it had lots of great third-part component libraries. But, for ordinary developers it was tedious and cumbersome to use. However, JSF 2.0 is a dramatic improvement in almost every way: more powerful, much simpler to use, has integrated Ajax support, and is better from top to bottom. This course will give a thorough introduction to JSF 2.0 including annotations, defaults, Ajax functionality, page navigation, validation, event handling, page templating with facelets, composite components, and lots more.

Duration

3 days.

Objectives

JSF 2.0 is a dramatic improvement in almost every way.In JSF2 course, you will learn:

  • Ease of JSF 2.0 development. It is much simpler to use, borrowing "configuration by convention" ideas from Ruby on Rails and similar libraries. Many tasks can be performed with simple annotations and conventions, with no editing of faces-config.xml.
  • New, more powerful features of JSF 2.0. JSF 2.0 has many new features including a more concise way to output values, much more debugging help, new bean scopes, more and better validators, support for conditional navigation, and the ability to bookmark results pages.
  • JSF 2.0-integrated Ajax support. Taking a cue from Ajax4jsf and AjaxTags, JSF 2.0 has easy-to-use tags that enable Ajax functionality.
  • Facelets in JSF 2.0. The popular Facelets library is now the default way to produce JSF pages. This provides simpler and more consistent syntax, and page templating (better than Tiles!) is built right in.
  • Composite components for mere mortals. The API provided by JSF 1.x was very powerful for vendors making component libraries, but far too complex for ordinary JSF developers. The new Facelets-based approach is dramatically simpler, making composite components a standard part of every JSF developer's toolkit.
  • Free and portable fatures of JSF 2.0. Although JSF 2.0 is part of the Java EE 6 specification, it can easily be used in existing servers. Our class will use Tomcat, but the applications can be deployed to any Java server that supports servlets 2.5 or later.

Audience

Experienced Java web developers, architects, and team leads who want to learn about JavaServer Faces technology.

The course consists of an approximately equal mixture of lecture and hands-on lab time. The course assumes that all students already have at least moderate previous Java experience, but not necessarily any experience with previous JSF versions. Although the course will use Java 6, previous experience with earlier Java versions is sufficient. However, the course will definitely move too fast for those with little or no previous experience with any Java version. Working knowledge of HTML is helpful but not absolutely required.

Instructors

Photo
Kito D. Mann is an enterprise architect who has developed applications with a wide variety of technologies on several different platforms. He has been working with Java since its debut in 1995, and has written several articles on Java-related products and technologies. Kito has consulted with Fortune 500 clients, including Prudential Financial and J. P. Morgan Chase & Company, and was recently the chief architect of an educational application service provider. He is also the author of JavaServer Faces in Action (Manning) and the founder of JSFCentral.com, a site devoted to the JavaServer Faces community. More about Kito Mann...

Outline

Day 1

  • Introduction to JSF
    • Lab
  • Building Applications Part 1: Managed Beans, EL, and Exception Handling
    • Lab
  • Using Facelets
    • Lab

Day 2

  • Building Applications Part 2: Events and Navigation
    • Lab
  • Exploring the Standard Components
    • Lab (DataTable)
  • Writing Custom UI Components (includes Ajax API)
    • Lab

Day 3

  • Internationalization, Validators, and Converters
    • Lab
  • Working with third-party components
    • Lab
  • Integrating JSF with Spring (includes scopes, transaction management, and DB integration)
    • Lab
  • Testing JSF Applications (overview)