Which version of JSTL should I use with Struts?
What version of Struts am I using?
If there is no version number in the filename, (i.e., struts-1.2.9.jar,) then look inside WEB-INF/lib/struts.jar (or possibly struts-core.jar) and examine the contents of the MANIFEST.MF file.
What version of the Servlet spec am I using?
Look at the top of WEB-INF/web.xml and compare to the snippets in each section below.
Your Servlet container may support versions other than the one your particular application is using. For example, Tomcat 5.5 supports Servlet 2.4, but will also run applications configured for Servlet 2.3 and (probably, haven't tried it,) Servlet 2.2.
- You will not be able to use JSTL unless you move to (at least) Servlet 2.3
- JSTL 1.0
- Struts ("original" taglib, not struts-el)
- JSTL 1.1
What we call "JSTL" is really the JavaServer Pages Standard Tag Library Specification. There is a Reference Implementation available from Sun at the bottom of http://jcp.org/aboutJava/communityprocess/final/jsr052/
Jakarta has an implementation of the specification, called "Jakarta Standard Taglib". (One implementation for each version of the JSTL spec.) And that (the 1.0 verson) is what Struts 1.x distributes with Struts EL.