我将我的 jSTL 代码放在我包含在我的 jsp 页面中的 javascript 文件中。 我遇到的问题是,当我在 jsp 页面内的脚本中编写我的 jSTL 代码时,它工作正常。但是当我在单独的 js 文件中编写相同的代码时,jSTL 代码根本不起作用。 无论如何我可以解决这个问题吗?任何帮助,将不胜感激。下面是我的代码。 谢谢
$("img[name='cancel']").hover(function(){
var src = "<c:url value='/images/stop.ico'/>";
$(this).attr("src",src);
},function(){
var src = "<c:url value='/images/gtk_close.ico'/>";
$(this).attr("src",src);
});
最佳答案
JSP 在向浏览器产生输出之前由服务器进行解释,因此您的标签在被提供给浏览器之前被解释。使用标准配置,JS 文件不会被服务器解释,只是作为纯文本传递给客户端。
如果你想用 JSP 动态生成 JS(如你的例子),你需要让服务器在将文件提供给客户端之前解释文件。最简单的方法是将 JS 的内容放入 JSP 文件中。然后在 html 页面上包含带有脚本标签和属性 src 等于 your.jsp 的脚本,例如 <script src="script.jsp"></script>
关于Javascript 文件不访问 jSTL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16904727/