The sample application
The sample application that we will develop in this chapter is a typical CRUD (Create, Read, Update and Delete) application. We will be using CDI to develop our controllers, Jakarta Persistence as our Object-Relational Mapping tool, leveraging Jakarta Enterprise Beans to handle transactions, plus Jakarta Faces to develop the user interface. We’ll cover some advanced Jakarta Faces features such as developing custom converters and implementing custom Expression Language (EL) Resolvers.
The application is a web-based application used to maintain customers in a database. It provides functionality to view all customers, views details for a single customer, and updates and deletes new customers.
The landing page
Our application’s landing page is a very simple Facelets page, that has a simple command link that invokes a method on the main controller, as shown in the following snippet.
<h:body> <h:form> &...