Jakarta Server Faces 4.0 (under development)
Jakarta Server Faces defines an MVC framework for building user interfaces for web applications,
including UI components, state management, event handing, input validation, page navigation, and
support for internationalization and accessibility.
The goal of this release is to start addressing a major concern that Faces is dragging along too much weight. This will be done by removing deprecated things. We also intend to continue modernizing by moving more things to CDI. Next to these big ticket items, we plan to add a small amount of features and refine the API.
Removing deprecated things:
- Removing JSP support as a VDL (deprecated since 2.0) - FACES #1546
- Removing the native managed beans (deprecated since 2.3) - FACES #1547
- Removing references to the native EL (deprecated since 1.2) - FACES #1548
- Default “Fakes Faces 2.2”-mode (defaulting to the current version instead)
- Rename “jsf” everywhere to “faces” FACES #1552
Continue re-basing on CDI:
- CDI events
- Internal artefacts as CDI beans
- Additional artefacts injectable
- Extensionless views by default FACES #1508
- New scope ClientWindowScoped FACES #1509
- Allow redirect via Annotation on action FACES #1554
- New lifecycle for REST/REST-like actions (for cases where view action with empty page is used now)
- Simplified API for setting FacesMessages
- First class support for creating views in Java
- Stateless views as global option
- Annotations for various things such as components (replaces/is alternative for bulky taglib registrations)
- StateHelper - Allow a Supplier as defaultValue
- PhaseListener - default methods
- Renderer - generic/parameterized
- Remove duplicate SessionMap annotation
- API to register custom behavior for a composite
The JDK version required will be aligned with Jakarta EE 10.
The Specification Committee Ballot concluded successfully on 2021-05-04 with the following results.
|Dan Bandera, Kevin Sutter
|Ed Bratt, Dmitry Kornilov
|Andrew Pielage, Matt Gill
|Scott Stark, Mark Little
|David Blevins, Jean-Louis Monteiro
|Marcelo Ancelmo, Martijn Verburg
|Dr. Jun Qian
The ballot was run in the jakarta.ee-spec mailing list
Click on the specifications below to access the specification document, Javadoc, Technology Compatibility
Kit (TCK), and compatible implementation for each release of the specification.
Platform and Profile Specifications
The Jakarta EE Platform and Profile specifications are the umbrella specifications for the individual specifications. The
Jakarta EE Platform includes most of the individual specifications, while the Profile specifications include the individual
specifications for developing web platforms and microservices architectures.
Each individual specification describes a standardized way of implementing a particular aspect of an enterprise Java application.