Building Web Apps with JSF 2.2 & PrimeFaces

February 22-26 2016, JHU Dorsey Center, Elkridge MD
Co-Sponsored by Johns Hopkins Engineering for Professionals

This class is now over. Next public version is tentatively set for fall 2016 at the same Johns Hopkins location in Maryland. In the meantime, please contact for information on a customized onsite version at your location. Lower price, more convenient for your developers, and customizable content. Full-day courses can be held at any location worldwide, but for clients in the Baltimore/Washington area, late afternoon, evening, or weekend sessions can also be arranged.

“Wonderful.  In 20 years,
this is the best organized,
most pragmatic and
enjoyable course I've taken.”

“The best instructor-led
course I have attended, by far.”

“Best short course ever!”

“I've taken other JSF 2.0 courses
before, and this one was by far the best.

I came with very little knowledge
of JSF, and now I look forward to
using it on my next project.”

Great overview of JSF 2.0 and PrimeFaces.
I knew next to nothing about the two
coming into the course, but now feel like
I can deliver a robust Java Web app.

Couldn't imagine a better
JSF training course!

“GREAT class [JSF]
Do you make house calls?”

more student reviews

JSF Logo This page describes the public (open enrollment) training course on Web application development with JavaServer Faces 2.2 to be held February 22-26 2016 at in Elkridge, MD (co-sponsored by the Johns Hopkins University Engineering for Professionals program). The entire course is personally developed and taught by leading Java developer, speaker, and author Marty Hall. No contract instructor regurgitating someone else's materials! Marty is the co-author of the upcoming JSF 2.2 edition of Core JSF, from Prentice Hall and Oracle Press, and he has taught Java technology courses onsite for dozens of organizations in the US, Canada, Mexico, Australia, Japan, Norway, Puerto Rico, India, Cambodia, and the Philippines, all to rave reviews.

If you are looking for customized training courses on Java 7 or 8, JSF 2, PrimeFaces, Android, Ajax, jQuery, Hadoop (and Hadoop cerfication), GWT, Spring, Hibernate, Servlets, JSP, HTML5, or RESTful Web Services taught on-site at your company, please see this page.

Register Early! Five of Marty's previous public short courses were full, so reserve your spot today. Registrations are taken in the order they are received.

Course Overview

Given the requirements of many or even most modern systems, servlets and JSP are simply too low-level: a higher-level framework is needed. Of the major Java-based Web application frameworks (JSF, Struts, SpringMVC, Wicket, etc.), only JSF is part of the official Java EE standard. However, JSF 1.x was a mixed blessing. On the one hand, it was backed by Sun, Oracle, IBM, and Apache, and had several good features. Most importantly, it had a component API that resulted in a large and rich set of third party component libraries (RichFaces, IceFaces, PrimeFaces, Tomahawk, ADF, Woodstock, etc.). However, for ordinary developers, JSF version 1 was hard to use, tedious to configure, difficult to extend, and limited in power.

JSF 2 is a dramatic improvement in almost every way.

  • Easier. It is much simpler to use, borrowing "configuration by convention" ideas from SEAM, Ruby on Rails, and similar libraries. Many tasks can be performed with simple annotations and conventions, with no editing of faces-config.xml.
  • More powerful. JSF 2 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.
  • Third-party component libraries. The component libraries for JSF have continued to improve. This course covers the input elements of the popular PrimeFaces library.
  • Integrated Ajax support. Taking a cue from Ajax4jsf and AjaxTags, JSF 2 has easy-to-use tags that enable Ajax functionality.
  • Based on Facelets. 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. Although JSF 2.0 is part of the Java EE 6 specification and JSF 2.2 is part of the Java EE 7 spec, they 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.

Marty normally runs on-site JSF and PrimeFaces training courses at customer locations. This is easier administratively, is better for clients since the topics and schedule can be customized, and is more cost effective for students since no travel is required. However, due to demand from those who do not have enough students for an on-site course, Marty will be a running public (open enrollment) JSF 2 training course at the Johns Hopkins Dorsey Center in Elkridge MD.

About the Instructor

Marty Hall Marty Hall is president of, a training and consulting company focusing on server-side Java technology, Android development, and front-end development with JavaScript and jQuery. In addition to long Java development and consulting experience, Marty has an extensive background in teaching and training, having given training courses on Java (now using Java 8), JSF 2, PrimeFaces, Android, Ajax/jQuery, GWT, and other Java EE topics in Japan, Canada, Australia, the Philippines, Mexico, Puerto Rico, India, Cambodia, Norway, and dozens of US venues. He has taught onsite at Google (both the Mountain View and NY offices), the NSA, the CIA, General Dynamics, Northrup Grumman, General Motors, VeriSign, Symantec, the Federal Reserve Bank, Comcast, Hewlett Packard, Fannie Mae, Motorola, Learjet, the US Navy, the Australian Treasury Department, Telenor Norway, and dozens of other organizations around the world. (A more extensive list can be found on Marty's bio page.)

JavaU @ JavaOne

A popular and entertaining speaker, Marty has also spoken at conferences and user groups around the world, including Comdex, the Web 2.0 Expo, and six times at JavaOne, most recently in 2015. Marty is also adjunct faculty in the Johns Hopkins University part-time graduate program in Computer Science, where he directs the Java and Web-related concentration areas.

Marty Hall is also the lead author of six popular Java EE books from Pearson, including Core Servlets and JSP, and is the co-author of the upcoming JSF 2.3 edition of Core JSF. He has also produced training videos for Pearson on JSF, PrimeFaces, Java 8 lambdas and streams (for those that know Java 7), general Java programming using Java 8 (for those new to Java), JavaScript, and jQuery.

  • Core Servlets and JSP is the all-time worldwide bestselling servlet/JSP book, published in Bulgarian, Chinese Simplified Script (Mainland China), Chinese Traditional Script (Taiwan), Czech, Greek, English, French, German, Hebrew, Japanese, Korean, Polish, Portuguese, Russian, and Spanish.
  • Core JSF is widely recognized as the leading text on Web App development with JavaServer Faces.
  • In addition be being best sellers in industry, Marty's books have been widely used in academia (including Stanford, MIT, Princeton, U.C. Berkeley, UCLA, Johns Hopkins, and dozens of others).

For more details, please see the Marty Hall bio.


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. However, the course will definitely move too fast for those with little or no previous experience with Java. Basic knowledge of HTML and CSS is helpful but not absolutely required.


JHU/EP Logo The course will be held at the Johns Hopkins Dorsey Center in Elkridge, Maryland. This is a modern, comfortable venue with separate computers for each student, fast internet connections, and with coffee, snacks, and meals included. Class meets from 8:30 am to 4:30 pm daily. For students who prefer to bring their own laptops, fast wifi is available, and you can email the instructor for information on installing the class software in advance.

For Maryland residents, the location is centrally located 5 minutes from BWI airport and has plenty of free parking. For out-of-town students, there are many hotels within 1 mile.


The five-day course costs $2695 per student and includes an extensive course notebook, a commercial textbook, exercises, and exercise solutions. Free breakfast, snacks, and lunch. Compare this price to courses from Learning Tree, GlobalKnowledge, and Oracle University that cost $3500-$4200 for five-day courses and $2800-$3000 for four-day courses and that do not include textbooks or meals. Besides, those courses almost always use an unknown instructor who did not develop the course materials and often lacks significant real-world development experience.

To register, fill out and send in the course registration form. Space is limited: five previous offerings of courses were full. Bonus: Register at least two weeks in advance and get a $100 gift certificate from

Questions and More Info

  • Guinea pigs? No! Marty's courses are well-tested, having been taught in 8 countries and dozens of US venues. We don't use your developers as guinea pigs for new materials.
  • Regurgitation? No! Marty developed all his own materials. No contract instructor regurgitating memorized PowerPoint slides.
  • Green? No! Marty is an experienced developer, and is the author of 6 popular Java EE texts from Prentice Hall. The course gives best practices and real-world strategies. No newbie instructor dodging tough questions.


Course includes JSF 2.2 (including Flow Scope), Ajax, composite components, page templating, and an introduction to PrimeFaces.

  • Review: Servlets, JSP, Web Apps, MVC, Eclipse
  • JSF 2.2 Overview, Big Ideas, Pros/Cons
  • Installation, Setup, Configuration, and Getting Started
  • JSF 2 Programming Basics
  • Managed Beans I
  • Managed Beans II
  • Explicit Page Navigation Control
  • The JSF 2 Expression Language
  • Properties Files, Messages, and I18N
  • Handling GUI Events
  • Integrated Ajax Support in JSF 2
  • Validating User Data Part I
  • Validating User Data Part II
  • Handling Variable-Length Results Data: ui:repeat
  • Data Tables
  • Page Templating with Facelets
  • Building Composite Components
  • PrimeFaces and Custom Component Libraries: Overview, Comparisons, and Setup
  • PrimeFaces Date Input
  • PrimeFaces Versions of Standard JSF Elements
  • PrimeFaces Number Input
  • PrimeFaces String Input
  • PrimeFaces Panels