昨天在調試一個項目效果的時候,死活出不來,用chrome調試一下,發現報了一個錯誤:Uncaught SyntaxError: Unexpected token <,我定位到jsp文件之后發現定位的位置是我的html頭文件聲明:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">,我點了其他頁面發現沒有報這個錯誤,經過一番對比驗證,找到問題,出問題的頁面應用的動態js文件:<script
type="text/javascript" src="${_contextPath}/${detailjs}"></script>,其中的datailjs沒有找到,(是我粗心大意忘記配置了),導致了相應的錯誤,但是我不滿足於此,想知道問題根本原因,
我用chrome調試錯誤頁面查看js代碼:
- <script type="text/javascript" src="/aabbcc/"></script>
- <script type="text/javascript" src="/aaa/"></script>
- GET http://hello.cas.server:9080/aaa/ 404 (Not Found)
- <script type="text/javascript" src="${_contextPath}/${detailjs1}"></script>
- <script type="text/javascript" src="/aaa/"></script>
生成頁面:
- <script type="text/javascript" src="/BOSS_NQCP_MANAGE/"></script>
- <script type="text/javascript" src="/aaa/"></script>
chrome報錯結果:
- GET http://hello.cas.server:9080/aaa/ 404 (Not Found)
- index.do:20Uncaught SyntaxError: Unexpected token <
大家發現問題了沒,我是后引用的/aaa/,但是確實先報的它的錯,着就說明了一個問題,就是jsp頁面會先處理靜態的引用頁面,也就是說引用文件的地址不是動態參數的頁面,
然后我又用真實存在的項目路徑做了測試,測試js:
- <script type="text/javascript" src="/BOSS_NQCP_MANAGE/resource/"></script>
- <script type="text/javascript" src="/BOSS_NQCP_MANAGE/resource/"></script>