It was great to see the 2.3 release of JavaServer Faces finalized last week.
When JSF 2.0 came out, I was quick to jump on the component based UI approach to software development, promoting the framework and writing a number of articles on JSF, Ajax and Facelets development. But after a few projects, my enthusiasm waned and advocacy was replaced with frustration. I soon jumped off the bandwagon, but having said that, looking at what’s new in the JSF 2.3 release, I’m anxious to jump back on.
CDI and JSF 2.3
One of my biggest frustrations with the initial 2.0 release was the lack of alignment between the Java EE CDI specification and the dependency injection used by JSF. I guess it was simply a reality of the fact that JSF needed to be capable of running within a web container that didn’t provide CDI support that forced the original release of JSF 2.0 to provide it’s own set of injectable managed beans, but it created confusion nevertheless, especially given the fact that back in 2009 or 2010, developers were struggling to grasp CDI itself. A clash of CDI and JSF annotations with similar names but dissimilar behaviors created no end of confusion. But looking at what’s new in JSF 2.3, it’s more than assuring to know that CDI alignment was finally achieved. That will make JSF 2.3 adoption a much easier sell for organizations that are well versed in working with contexts and injected dependencies.
What else is new in JSF 2.3?
New JSF 2.3 API enhances Ajax support
You can follow Cameron McKenzie on Twitter: @cameronmcnz