This can occur as a result of a non-standard "web.xml" file.
According to google:
1) For a JSP 2.0 container, you should be using JSTL 1.1, and you should have your web application declared as a Servlets 2.4 web app by using the Servlets 2.4 XML Schema.
2) For a JSP 1.x container, you should be using JSTL 1.0, and you should have your web application declared as a Servlets 2.3 web app by using the Servlers 2.3 DOCTYPE.
I believe the following is correct for my 2.4 installation:
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> ...
</web-app>