Web Apps With JSF and PrimeFaces – GOTO Academy NL
Web Apps With JSF and PrimeFaces

GOTO Academy NL

Web Apps With JSF and PrimeFaces


Contact Us for Pricing

Do you have any questions?


Building a Rich Web UI in JEE

   Duration    3 Days
    Level   Intermediate
    Location   Worldwide

  On Request


What you'll learn

  • Understand the JEE Architecture and the role of JSF within it
  • Learn the JSF execution model and component lifecycle
  • Learn to leverage the rich controls provided by PrimeFaces
  • Experience building apps with charts, themes and more



This course covers all aspects of using JavaServer Faces to create Enterprise Web Applications within the Enterprise Java (JEE) platform. No previous experience of JSF or JEE is assumed. The delivery begins with the fundamentals of JEE design and component types but quickly focuses on the specifics of coding within the JSF framework. Since the goal of JSF is to enable the use of UI component libraries there is little value in studying it in isolation. Hence the course is built around the PrimeFaces library of JSF components, which emerged as the most popular and fully-featured library during the 2000’s.

By the end of the course delegates will understand the JEE Architecture and the role of JSF within it. They will be comfortable with the JSF execution model, especially the lifecycle of a component and how to direct and customize the behaviour of controls. Most importantly they will have built multiple web applications from scratch, using both the minimal set of components provided with JSF and the much richer controls provided with PrimeFaces. Lastly, they will have covered PrimeFaces specific topics such as defining models for charts, taking advantage of partial rendering and customizing themes.



Fundamentals of the JEE Web Container

  • How Enterprise Java (JEE) emerged during the 2000’s
  • The role of the Web Container in Enterprise Java Design
  • Types of components which can be deployed to the Web Container
  • Declaring Servlets using XML and annotation driven configuration
  • Extracting data from the request and formatting a response
  • Forwarding requests between multiple web components
  • Using filters to intercept requests and add advice
  • Handling events at the request, session and context levels

Injecting Dependencies Into Web Components

  • Declaring and naming CDI Managed Beans
  • Adding lifecycle methods to your beans
  • Scopes available for storing CDI beans
  • Injecting beans via custom annotations
  • Injecting objects via provider methods
  • Configuring CDI via the beans.xml file

Introducing JavaServer Faces

  • The evolution of the server page concept
  • Comparisons between JSF and ASP .NET Web Forms
  • Comparisons between JSF and Single Page Applications
  • The move away from JSP to the Facelets view engine
  • A simplified version of the JSF component lifecycle
  • Installing the FacesServlet Front Controller
  • Configuring JSF via the faces-config.xml file
  • Configuring JSF via annotations and conventions

Creating Basic JSF Web Applications

  • Declaring components on the Facelets page
  • Declaring managed beans via XML and annotaitons
  • Choosing the correct scope for a managed bean
  • Using EL to bind values to bean properties
  • Using EL to specify event-handling methods
  • Configuring navigation rules and transitions

Making the Most of Facelets and EL

  • The Unified Expression Language in depth
  • The special operatiors provided by Unified EL
  • Support within Facelets for Master Pages
  • Support within Facelets for Composition
  • Tag libraries provided along with Facelets
  • Defining ‘Faces Flows’ within the application

More Advanced Uses of Components

  • The JavaServer Faces lifecycle in depth
  • Handling events at different stages of the lifecycle
  • Controlling navigation between multiple pages
  • Converting and validating data entered by users
  • Creating your own converters and validators
  • Designing and building your own JSF components
  • Using JVM scripting languages such as Groovy
  • Accomodating AJAX requests via partial processing

Incorporating the PrimeFaces Components

  • Including the PrimeFaces library within your Web App
  • The chart based components and the charting API
  • Displaying data in grids, tables and lists
  • Adding filtering and pagination to tables
  • Styling components with themes and skins
  • Adding client side validation and custom JS
  • Using the PrimeFaces API for AJAX requests


'' Excellent course well taught by Garth. Course contained a lot of detail but at no point did I feel lost. Lots of why we do something not just how which was extremely helpful in learning the material. Good balance between practical and lecture. Feel well equipped after this course to work in the area. Thanks! ''


Interested? - Contact us here