Я прочитал:
Язык выражений в JSP не работает
но это немного отличается.
Использование EL для ссылки на файл работает нормально, как показано ниже.
<link rel="stylesheet" type="text/css"
href="${pageContext.request.contextPath}/css/global.css"/>
Однако при попытке использовать тег JSP include с выражением EL:
<jsp:include page="${pageContext.request.contextPath}/header.jsp" />
Возвращает http 500.
org.apache.jasper.JasperException: javax.servlet.ServletException: File "/head_first/header.jsp" not found
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:527)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:401)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
Я также убедился, что EL включен тоже.
<%@ page isELIgnored ="false" %>
Моя версия tomcat - 6.0, а web.xml определяет, что JSP - 2.5
.
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
Кто-нибудь знает, почему EL не работает ТОЛЬКО при использовании в теге jsp: include?