PrimeFaces: A Crash Course

August 20-22 2013, 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 summer or fall 2015 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!”

“Compared to the other short courses I have taken, this one completely redefined my scale from 1-10.”

“In my 35+ years of taking technical courses, Marty's classes consistently come out ranking #1 on my list. Highly relevant material is delivered with enthusiasm, humor, and a high degree of class interaction that is unmatched anywhere.”

more student reviews

This page describes the public (open enrollment) training course on JSF2 development with PrimeFaces to be held 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 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

JSF version 2 is a huge step forward from JSF 1, and is becoming well-established as the Web app framework of choice in the Java world. However, JSF made the strategic decision to not try to build rich non-HTML-standard GUI elements into the core framework, but instead define an API so that third parties can build rich component libraries that can be portably used in any JSF 2 application. PrimeFaces has developed as the most popular of these third-party component libraries, now surpassing both RichFaces and IceFaces in usage.

This course gives gives a thorough introduction to the most important of the PrimeFaces capabilities: input elements (dates, numbers, strings, autocompleters, etc.), dialog boxes, theming, tabbed and accordion panels, extended data tables, image galleries and viewers, menus, charts, etc. If you are new to JSF 2, don't take this course: take general JSF 2 course instead. That course includes a brief introduction to PrimeFaces, but gives detailed coverage of the core JSF 2 programming skills that this course assumes as a prerequisite.

Marty normally runs on-site 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) PrimeFaces training course at the Johns Hopkins Dorsey Center in Elkridge MD.

The course is developed and taught by Marty Hall, an experienced developer, award-winning instructor, popular conference speaker (5 times at JavaOne), and author of several bestselling Java books.

About the Instructor

Marty and Gosling @ Marty's car

Marty & Java inventor James Gosling at Marty's car.

Marty Hall is the author of six popular Java EE books, including Core Servlets and JavaServer Pages, 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, Macedonian, Polish, Portuguese, Russian, and Spanish. Marty is president of, a training and consulting company focusing on server-side Java technology and Rich Internet Apps with Ajax. In addition to long Java development and consulting experience, Marty has an extensive background in teaching and training, having given training courses on J2EE, JSF 2.0, GWT, and Ajax topics in Japan, Canada, Australia, the Philippines, Mexico, Puerto Rico, India, Cambodia, and dozens of US venues. A popular and entertaining speaker, Marty has spoken at conferences and user groups around the world, including Comdex, the Web 2.0 Expo, the Great Indian Developer Summit, and five times at JavaOne. 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.


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 knowledge of core JSF 2. No previous PrimeFaces experience is expected.

If you are new to JSF 2, don't take this course: take general JSF 2 course instead. That course includes a brief introduction to PrimeFaces, but gives detailed coverage of the core JSF 2 programming skills that this course assumes as a prerequisite.


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 three-day course costs $1795 per student and includes an extensive course notebook, a commercial textbook, exercises, exercise solutions, breakfast, snacks, and lunch. Compare this price to courses from Sun, Learning Tree, GlobalKnowledge, and Oracle University that cost more and 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 a week in advance and get a $50 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.


If you are new to JSF, don't take this course: take the general JSF 2 course instead. That course includes a brief introduction to PrimeFaces, but covers in depth the core JSF 2 programming skills that this course assumes as a prerequisite.

PrimeFaces Overview, Setup, and Installation

  • Comparing PrimeFaces to other JSF2 component libraries
  • Installation
  • Testing

PrimeFaces Input Elements: Date Input

  • Basic Date input with p:calendar
  • Inline calendars
  • PrimeFaces versions of standard elements: :commandButton, p:messages, p:fieldset, p:ajax
  • Ajax updates
  • Controlling look of the calendar
  • Animation effects on open/close
  • Collecting times as well as dates

PrimeFaces Input Elements: Number Input

  • p:spinner: For collecting int or double with a textfield that has up/down arrows.
  • p:sliderL For collecting int with a slider.
  • p:rating: For collecting int in a narrow range, for use as a rating.

PrimeFaces Input Elements: String Input Part 1

  • p:inputMask
  • p:autoComplete
  • p:inputText
  • p:inputTextArea

PrimeFaces Input Elements: String Input Part 2

  • Interactive HTML color chooser -- p:colorPicker
  • Text that becomes editable when clicked -- p:inplace
  • Element that validates text matches images -- p:captcha
  • Password field with feedback on strength -- p:password
  • Editor that lets user create rich HTML text -- p:editor

PrimeFaces Overlays and Popup Windows

  • p:message and p:messages
  • p:growl
  • p:dialog
  • p:dialog with on-page validation
  • p:confirmDialog

PrimeFaces Panels

  • Accordion panels
  • Tabbed panels
  • Scroll panels
  • Other panels

PrimeFaces Themes (Skins)

  • Installing and specifying a default theme
  • Changing themes at runtime with p:themeSwitcher
  • Looking up current theme
  • Changing themes at runtime without using p:themeSwitcher
  • Best practices for using themes

PrimeFaces Expanded Data Table

  • Pagination
  • Sorting
  • Filtering
  • Dynamic Columns

PrimeFaces Menus

  • Menu
  • MenuBar
  • MenuButton
  • SlideMenu
  • TieredMenu

Image and Media Viewers

  • Galleria
  • ImageSwitch
  • Media

HTML5-Based Charts

  • Area
  • Bar
  • Bubble
  • Donut
  • Line
  • Pie