${pageContext.request.contextPath}與web.xml之間引出的問題

在使用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博客留個言吧,謝謝支持!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章