问题描述:
在使用${pageContext.request.contextPath}时出现$%7BpageContext.request.contextPath%7D路径404的错误
解决方案:
- 第一种情况:最常见也是最有可能发生的情况的解决方法:提升web.xml文件中web-app标签所包含的版本等级
修改
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
为
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0"
metadata-complete="true">
- 第二种情况:当你是想在ajax的url属性处添加${pageContext.request.contextPath}时。
不能直接使用,应该在起始的jsp界面中加入
<input id="PageContext" type="text" value="${pageContext.request.contextPath}" hidden/>
然后通过
url: $("#PageContext").val()+'/xxx/xxx/xxx',
拼接的方式来解决。
- 第三种情况:当你在后台需要使用到项目的资源路径的话。就需要通过ajax的data向 后台传递数据,且写法为:
data:{pageContext:$("#PageContext").val()},