![](https://csdnimg.cn/release/download_crawler_static/10463493/bg10.jpg)
3
In the second quarter of 2002 two other cornerstones of JSF were discussed: the
Expression Language (inspired by JSTL), which is instrumental for the so-called bindings
of beans from a template to backing code, and the factory finder, which allowed key
parts of JSF to be replaced and although perhaps not fully realized at the time may have
contributed greatly to JSF still being relevant some 16 years later.
It was in this same quarter that Craig McClanahan took over as spec lead, father of
Struts and architect of Tomcat’s Servlet container, took over. Not long after the discussion
about using JSP started, a discussion, perhaps unbeknownst to the team at the time, that
would, unfortunately, have a rather negative impact on JSF later on. Around the end
of the year 2002, Ed Burns, who like McClanahan had also worked on Tomcat before,
joined the team as co-spec lead. Burns is the person who would eventually become the
main spec lead of JSF for well over a decade.
While the team continued to work on things like the aforementioned managed
beans and the so-called value binding, which is the Java representation of the also
aforementioned expression language binding, the first dark cloud appeared when in the
spring of 2003 team member Hans Bergsten realized that there were very real and major
issues with using JSP as the templating language for JSF.He brought these concerns to
the team, but ultimately they weren’t addressed and instead the following months were
spent, among other things, on a variant of the value binding; it later on became clear that
the method binding and the state saving mechanism were another of JSF’s less than ideal
implementations.
JSF 1.0 and its still nameless RI were eventually released on March 11, 2004—
coincidentally, a mere two weeks before the release of another framework that’s still
strong today, Spring 1.0. MyFaces released its 1.0.0 alpha version only days later, on
March 19. It’s perhaps an interesting observation that JSF went final with a full-fledged
XML-based dependency injection (DI) framework just before Spring, which is largely
known for its DI, went final.
JSF 1.0 was generally well received; despite a rather crowded market with
competitors such as Tapestry, WebObjects, Velocity, and Cocoon operating, not less than
three books from writers such as Horst Caymann and Hans Bergsten appeared in the
months after, and the eXo platform (a Digital Collaboration Platform) started using JSF
right away.
Hans Bergsten’s earlier concerns, however, become painfully clear almost just
as quickly; the JSP technology is based on processing a template from start to end,
immediately writing to the response as tags are encountered. JSF, however, requires
a phased approach where components need to be able to inspect and act on the
Chapter 1 history