问题描述:
在学习 Ajax
的时候,使用资源路径,博主本着不要硬编码,局使用 el
表达式进行读取项目名,然后发现 el
表达式没有被识别,而是当做字符串 ${pageContext.request.contextPath}
直接输出了,很是郁闷啊;
突然想起来没加 jar
包,在 pom
文件里面一通配置,还是不行,然后各种导入相关的 jar
包,IDEA
稳如泰山的给我按照字符串输出;
解决方法:
在确保你相关的 jar
包都导入了,就打开你项目的 web.xml
看下,看下 maven
给建立的是哪一个版本的 web
项目;
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
</web-app>
我的打开,竟然是 2.3
,这不扯犊子一样,el
表达式在低版本中是不被识别的,赶紧打开以前的项目,复制一份 web.xml
的眉头 ;
<?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_3_1.xsd"
version="3.1">
然后,就 OK
了 ;
从今天起,我要记录下我踩过的坑,本来学 Ajax,结果时间全用在调试 el 表达式上了。–2018年12月6日17:55:32