在使用idea中的maven-webapp骨架創建web項目時,我的web.xml文件頭默認爲
<!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>
之初,配置Spring前端控制器,全局參數…等等,標籤報紅,但這並不影響項目的正常運行,因此也沒換成
<?xml version="1.0" encoding="utf-8"?>
<web-app 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"
version="2.4">
但是,在處理SpringMVC請求去獲取集合類型參數時,使用了${pageContext.request.contextPath} 表達式,比如下面
<script src="${pageContext.request.contextPath}/js/jquery-3.3.1.js"></script>
<script>
var userList = new Array();
userList.push({name:"zhangsan",age:23});
userList.push({name:"lisi",age:25});
$.ajax({
type:"post",
url:"${pageContext.request.contextPath}/user/success9",
data:JSON.stringify(userList),
contentType:"application/json;charset=utf-8"
});
</script>
報錯如下
???難道使我js路徑寫的有問題?仔細檢查並沒有,此時idea控制檯並沒有報錯詳細信息。
再打開f12
再把xml文件頭改成上面那個,就好了…這裏的version應該在2.4以上,因此在使用EL表達式時,web.xml的頭版本應該注意。
覺得有用不如進入我的Github博客留個言吧,謝謝支持!