JavaServer Faces 2.0 – next generation JSF technology (specification)

Lucas Jellema
0 0
Read Time:2 Minute, 23 Second

 

JEE 6 is almost upon us. An important specification in the plethora of standards that JEE 6 contains is JSR-314: JavaServer Faces 2.0. First introduced in JEE 5 (2006), JSF has quickly conquered the minds and hearts of many Java Web developers as well as most large vendors in the Java industry who each offer a library with JSF components, based on this standard – Sun (Mojarra, also the Reference Implementation), Oracle (ADF Faces), JBoss (RichFaces), BackBase, IBM, ICEFaces, WebGalileoFaces, Apache MyFaces, OpenFaces, NetAdvantage, JViews and dozens of others.

Even though many web development projects still use JSP with Struts and various Tag libraries or frameworks such as Tapestry or Velocity, an increasing number of organizations adopt JSF as their primary web (view) development technology. Some of these organizations standardize on a single JSF library while others mix and mingle or use different libraries on different projects. The combination of JPA and JSF seems particularly appealing, as for both several great implementations are available (Hibernate, EclipseLink for JPA and the many JSF libraries listed above) that work together well. The same JPA and JSF skill set can be used by developers on projects using whichever implementation of these standards – a huge boon compared to the relatively disparate skills required for developing with JSP/Struts, Tapestry, Spring MVC or other Web frameworks.

At the end of May 2009, the specification for JavaServer Faces 2.0 got finalized. Now we know what we will be getting from all the JEE 6 implementations that are coming our way (though there some bits and pieces in other specifications still under debate that will shine through in JSF 2.0, such as bean validation and EL features).

Even though the 2.0 release does not preach revolution, it contains a number of new elements that are pretty big steps forward compared to JSF 1.x. Positioning Facelets as the primary ViewDeclarationLanguage, support for AJAX, fine grained event mechanism, facilities for smart resource loading/serving, integration with the Bean Validation spec, introduction of View Parameters and extended support for GET requests and view bookmarking, new managed bean scopes, smarter (annotation driven) configuration and a central exception handler are among the eye catching new features and facilities.

The Mojarra project has provided the reference implementation for JSF 2.0. There is nothing really holding us back from trying it out.

Resources

The JSF 2.0 specifications on the JCP website.

JSFCentral – website with many (many!) resources on JavaServer Faces

Sun JEE Technology – JavaServer Faces – overview of JSF and the Sun implementation of release 2.0 (Mojarra)

Why you didn’t know the Unified EL is being updated – Blog article on Updates to the Unified Expression Language

What’s new in JSF 2.0 – by Andy Schwartz.

Introduction on Serving Resources in JSF 2.0

JSF 2.0 – event handling & AJAX by David Geary

About Post Author

Lucas Jellema

Lucas Jellema, active in IT (and with Oracle) since 1994. Oracle ACE Director and Oracle Developer Champion. Solution architect and developer on diverse areas including SQL, JavaScript, Kubernetes & Docker, Machine Learning, Java, SOA and microservices, events in various shapes and forms and many other things. Author of the Oracle Press book Oracle SOA Suite 12c Handbook. Frequent presenter on user groups and community events and conferences such as JavaOne, Oracle Code, CodeOne, NLJUG JFall and Oracle OpenWorld.
Happy
Happy
0 %
Sad
Sad
0 %
Excited
Excited
0 %
Sleepy
Sleepy
0 %
Angry
Angry
0 %
Surprise
Surprise
0 %
Next Post

Oracle RDBMS 11gR2 - XML Data Partitioning - Part 1

  There is a Metalink note (563802.1) that has a very good example how XML data storage, partitioning can be achieved in Oracle version 9.2.0.3.0 (the first officially supported XMLDB database functionality) and onwards. Partitioning can be used in such XML situations to spread the I/O load and it also […]
%d bloggers like this: