The Struts EL taglibs included in 1.1 was added to make it easy to use Struts with the JSTL. According to their development roadmap, "it is expected that Struts 2.0.x will rely on JSTL and the JavaServer Faces API as supporting technologies."
Originally posted by Payam Fard: So, there would be no overlap among Java Server Faces, JSTL and Struts. Is that right? How are they different from one another? Thanks, Payam.
There's plenty of overlap between JavaServer Faces (JSF) and Struts and between JSTL and Struts (but not between JSF and JSTL). Many of the JSTL tags were inspired by Struts tags. You can essentially think of the JSTL tags as (arguably) better versions of some of the Struts tags. In fact, many of the Struts tags will be deprecated in favor of JSTL tags. Much of JSF is also inspired by Struts. Essentially, JSF is a better version of Struts (or at least it will be--those of us on the JSF expert group realize the current EA has issues and we're addressing them) with a server-side component model somewhat like the Swing component model. You can also use JSF components with Struts via a tag library implemented by Craig McClanahan. That way, if you're a Struts die-hard, you can stick with Struts instead of switching to JSF, but still take advantage of all the cool JSF components (like trees, calendars, etc) that are being developed.