當我們即便是把一個完整的項目導入到eclipse之後,也有可能會在jsp中出現類似於下面這樣兩種錯誤。
Description Resource Path Location Type
Fragment "/xxx.jsp" was not found at expected path /xxxx.jsp xx.jsp /xxxxx line 6 JSP Problem
Description Resource Path Location Type
The function fns:getXxx is undefined list.jsp /xxxxx line 97 JSP Problem
第一個往往出現在jsp <head>
標籤中對其他jsp的引用時,例如:
<%@ include file="/xxx.jsp"%>
第二個錯誤則會出現在你使用自定義jstl函數的時候,例如:
${fns:getXxx(empSalary.empId)}
不過即便是被eclipse標記爲error,其實這些錯誤也往往不會影響程序的運行。但是如果大量的errors佔據了problem界面,我們就很難再看到其他真正需要去解決的error了。所以最好是能夠隱藏這些錯誤。
解決方法:
右鍵項目,選擇properties,找到Validation頁籤,點擊右上角的Configure Workspace Settings…
找到JSP Suntax Validator,把第二個取消選擇。
隨後Apply之後eclipse就會重新校驗整個項目,完成之後大部分有關Description Resource Path Location Type
錯誤就會消失。(fns那種jstl的錯誤也許還會留在jsp頁面之中,但是不會再出現在Problems中)。
當然你也可以在圖1中點選Enable project specific settings
,這樣你就可以對每個指定的項目進行單獨的校驗配置。
還有就是因爲eclipse默認的校驗規則很多很雜,往往會拖慢程序的運行速度,所以如果你本來就不需要那些自動校驗規則,可以再最開始就設置取消。
其他:
要是遇到下面這種情況,就可以用另一種方法。
Description Resource Path Location Type
Start tag (<count>) not closed properly, expected '>'. xxx.html /xxxx line 64 HTML Problem
這種情況就是標籤沒有被正確的結束,一般來說這種錯誤其實最好是讓它顯示着,因爲就是有可能我們會忘記加結束標籤,如果要是不顯示,以後也許debug會很麻煩。
但也有可能你會遇到與我類似的情況,就是導入了一個已經完整的項目,而且我們也不會對它進行編輯了,也許就只是引用或者看看而已。那麼在這種情況下,我還是建議單獨對這個項目進行校驗設置,而不影響到其他你正在編寫的項目。
解決方法:
依然是右鍵項目,選擇properties,點擊Validation下面的HTML Syntax,(我這裏是html出了問題,你當然也可以選擇JSP Syntax),勾選Enable project specific settings
,在Missing end tag
後面選擇Warning。(這裏我只是希望這個改變只在這個項目中生效),隨後再apply就好了。
參考:
What does validate do in eclipse?
jsp:include 導入一個action