這是一個相當古老的線程,但它是我遇到同樣問題時遇到的一個線程。由於我自己想到了一個解決方案,所以我會在這裏發佈它以防將來幫助某人。
html(或jsp)文件查找聲明爲javascript源的外部文件中的文本。
Tomcat(或類似的)只能解析帶有.jsp擴展名的文件中的JSTL標籤(或者也可能是其他一些,但與此答案無關)。
所以,重命名您的.js文件給它一個.jsp擴展名(javascript.js到javascript_js.jsp例如)
在javascript_js.jsp的頂部添加這些行:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
,只是讓代碼保持不變。
很顯然,如果在標頭中使用除c:之外的其他字首,還需要添加更多前綴。
如果您使用Eclipse(不知道其他IDE),它會認爲它不是JavaScript文件,並且您失去了不同關鍵字(var,function等)的顏色方案,var name auto completion和自動縮進。
愚弄IDE,您可以添加
// <script>
爲JS評論,實際的代碼之前(之後的 「<%@」 的聲明),以及
// </script>
末的文件,再次作爲js評論。
它爲我工作。
來源
2013-11-15 09:48:20
Dan
閱讀此:http://balusc.blogspot.com/2009/05/javajspjsf-and-javascript.html到點:Java/JSP/JSTL/EL在網絡服務器上運行並生成HTML/CSS/JS。網絡服務器發送HTML/CSS/JS到網頁瀏覽器。 Webbrowser檢索HTML/CSS/JS並執行它。如果Java已經完成了它的任務,Webbrowser不應該檢索任何Java/JSP/JSTL/EL代碼行。只是因爲它不瞭解它。 – BalusC 2010-11-08 14:06:22
這是一個很好的博客... – coder247 2010-11-08 15:09:17