This may well be a Tomcat deployment issue, but I post it here in the hope that someone might be able to nudge me in the right direction.
I have a very simple jsp:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>test</title>
</head>
<body>
<c:out value="JSTL is working!" /><br />
</body>
</html>
If I put it in the root directory of my webapp all is fine. But as soon as I put it in any subdirectory I get the dreaded error:
org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:51)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409).........
...which, if I understand it correctly, usually means you've forgotten to put standard.jar and jstl.jar in your WEB-INF/lib. But they're there. I've also checked they are the right versions.
Even more frustratingly, all works fine on my local machine, it is only when I try to deploy my .war file on the server that I get this error. The Tomcat version is 6.0. I've never had this
Have I overlooked something obvious? Thanks in advance to anyone who might be able to enlighten me.