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.
More specifically:
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
Features
- 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)
API enhancements:
- StateHelper - Allow a Supplier as defaultValue
- PhaseListener - default methods
- Renderer - generic/parameterized
- Remove duplicate SessionMap annotation
- API to register custom behavior for a composite
New deprecations:
The JDK version required will be aligned with Jakarta EE 10.
Ballots
Plan Review
The Specification Committee Ballot concluded successfully on 2021-05-04 with the following results.
Representative |
Representative for: |
Vote |
Kenji Kazumura |
Fujitsu |
+1 |
Dan Bandera, Kevin Sutter |
IBM |
+1 |
Ed Bratt, Dmitry Kornilov |
Oracle |
+1 |
Andrew Pielage, Matt Gill |
Payara |
+1 |
Scott Stark, Mark Little |
Red Hat |
+1 |
David Blevins, Jean-Louis Monteiro |
Tomitribe |
no vote |
Ivar Grimstad |
EE4J PMC |
+1 |
Marcelo Ancelmo, Martijn Verburg |
Participant Members |
+1 |
Werner Keil |
Committer Members |
+1 |
Dr. Jun Qian |
Enterprise Members |
+1 |
|
Total |
9 |
The ballot was run in the jakarta.ee-spec mailing list