中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jsp出現cannot be resolved 問題

發布時間:2020-06-16 20:42:25 來源:網絡 閱讀:3537 作者:yifangyou 欄目:開發技術

今天接手一個09年的老項目,這個項目是Struts2的,早就忘光了,配置文件也一大堆,廢了老大勁解決出現的錯誤,跑起來了,登錄成功后跳轉到首頁出現500錯誤,報錯:“org.apache cannot be resolved or is not a field”
如圖所示:
jsp出現cannot be resolved 問題

根據這個提示應該是EL表達式${ctxpath}沒有定義
但是報錯地方上面也有用${ctxpath}的地方,例如:

<link href="${ctxpath}/jsp/newframe/themes/default/style.css" rel="stylesheet" type="text/css" media="screen"/>
<link href="${ctxpath}/jsp/newframe/themes/css/core.css" rel="stylesheet" type="text/css" media="screen"/>

這就特別奇怪了。

于是我初步懷疑是不是因為EL在javascript里會出錯,找了半天還是沒有找到相關的解決辦法,直到我逐條把js代碼都刪掉,最后只剩下一個EL表達式變量了,但是還是報錯。
沒辦法了,只能懷疑tomcat版本太高的緣故,更換為tomcat6后,錯誤依然。
于是我還得逐步調試,終于發現問題所在^_^。
原因是在報錯代碼之前有一段java程序,把java程序去掉就不會出現500錯誤,難道這段java代碼會把${ctxpath}的值刪掉?
又逐條檢查發現一個讀取session的語句有問題

Organization org = (Organization)request.getSession().getAttribute(“abc”);
    if(org!=null){
        dept = org.getName();
    }

這句話看起來挺正常的,但是request.getSession().getAttribute(“abc”)的值為null,按照我理解若是null的話轉換為任何對象不會報錯,但是實際上在jsp里出現錯誤了,但是又不輸出錯誤。這樣導致jsp無法被編譯,從而導致上面的EL表達式${ctxpath}找不到

最后解決辦法有兩種:
1.在登錄的代碼里添加上這個session,保證不能為空
2.先判斷是否為null然后再強轉類型

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大宁县| 蕉岭县| 沙坪坝区| 安乡县| 博乐市| 洞头县| 屏南县| 新津县| 息烽县| 兖州市| 南昌县| 西乡县| 盐城市| 皋兰县| 梅州市| 岳普湖县| 临泉县| 五家渠市| 齐齐哈尔市| 葵青区| 方正县| 开封县| 罗定市| 丹棱县| 吉隆县| 临夏县| 永昌县| 土默特右旗| 台前县| 庆元县| 威宁| 尼勒克县| 昭平县| 建宁县| 连山| 夹江县| 曲阜市| 漠河县| 伊金霍洛旗| 阳城县| 临洮县|