What this book covers
Chapter 1, Dynamic Access to JSF Application Data through Expression Language (EL 3.0), covers the main aspects of Expression Language (EL). We will cover EL 2.2 and EL 3.0, including new operators, lambda expressions, and collection object support.
Chapter 2, Communication in JSF, represents a dissection of JSF mechanisms used for ensuring communication between JSF artifacts. Therefore, we will cover context parameters, request parameters, JSF 2.2 actions on GET requests (view actions), and more.
Chapter 3, JSF Scopes – Lifespan and Use in Managed Beans Communication, teaches you to distinguish between the bad and good practices of using JSF and CDI scopes. We will discuss JSF scopes versus CDI scopes, request, session, view scope (including the new JSF 2.2 view scope), application, conversation scope, JSF 2.2 flow scope in detail (Big Ticket feature), and more.
Chapter 4, JSF Configurations Using XML Files and Annotations – Part 1, depicts the JSF artifact's configuration aspects in a learning-by-example fashion. Configuring JSF artifacts in the faces-config.xml
file is pretty straightforward and boring, but if we take each artifact and exploit its potential in several use cases, then things become much more interesting.
Chapter 5, JSF Configurations Using XML Files and Annotations – Part 2, acts as a continuation of the previous chapter. Here, we will discuss configuring resource handlers (JSF 2.2's new javax.faces.WEBAPP_RESOURCES_DIRECTORY
context parameter), configuring flash (JSF 2.2 FlashFactory
, FlashWrapper
, and flash system events), JSF 2.2 Window ID API, the injection mechanism (which, starting with JSF 2.2, is possible in most JSF artifacts), and more.
Chapter 6, Working with Tabular Data, pays tribute to the <h:dataTable>
tag. Here, we will focus on the JSF 2.2 CollectionDataModel
API (which supports the Collection
interface in UIData
). Moreover, we will learn about table pagination, deleting/editing/updating table rows, filtering, and styling JSF tables.
Chapter 7, JSF and AJAX, exploits the JSF 2.2 delay
attribute for queue control of AJAX requests. It discusses how to reset value attributes using JSF 2.2 (input fields can be updated with AJAX after a validation error), AJAX and JSF 2.2 flow scope, how to customize AJAX script, and more. This is a classic chapter in almost any JSF book.
Chapter 8, JSF 2.2 – HTML5 and Upload, divides the topic into two parts. The first part is entirely dedicated to the Big Ticket feature, HTML5, and JSF 2.2 (pass-through attributes and elements). The second part is dedicated to JSF 2.2's new upload component, <h:inputFile>
.
Chapter 9, JSF State Management, provides a detailed dissertation about the JSF view state. The headings of this chapter will refer to JSF's saving view state (including JSF 2.2 case insensitivity for state saving method and standardized server state serialization) and JSF 2.2 stateless view (Big Ticket feature).
Chapter 10, JSF Custom Components, is another example of a classic chapter in any JSF book. Obviously, the main topics are meant to shape the custom and composite components creation. We will focus on developing several kinds of components based on the new JSF 2.2 approach (Facelet's component tag can be declared via annotation).
Chapter 11, JSF 2.2 Resource Library Contracts – Themes, dedicates itself to the new JSF 2.2 Resource Library Contracts feature (Big Ticket feature). You will learn how to work with contracts, style JSF tables and UI components using contracts, style contracts across different kind of devices, and more.
Chapter 12, Facelets Templating, depicts the viral aspects of Facelets templating. We will focus on the declarative and programmatical aspects of Facelets.
Appendix, The JSF Life Cycle, covers a diagram of the different JSF phases.