当您需要从SpringMVC中的JSP文件引用资源文件时,您必须传递资源的绝对URL,传统上使用<c:url ...
或href="${pageContext.request.contextPath}/css/...
。
但是,如何在CSS和JS文件中传递绝对URL?在CSS中,有时您可以使用属性的URL。在我的JS文件中,我可能需要对我在某处定义的绝对URL进行AJAX调用。在这两种情况下,这些URL都可以在不同的时间发生变化,但谷歌搜索并未指出处理这类案例的最佳方法。 我不会在上面添加一个新的maven插件或其他一些JS或CSS编译器来实现这一点。
答案 0 :(得分:1)
CSS网址不一定是绝对的,因为URL不是相对于当前页面的路径解析的,而是相对于CSS文件本身的路径。
对于JS,您只需要在基础JSP模板中定义全局变量中的基本URL,并从JS文件中重用该基本URL:
在你的JSP中:
<script>var BASE_URL = "<c:url value='/' />";</script>
<script src="someFile.js"></script>
在你的JS文件中:
$('#foo').load(BASE_URL + 'some/path.html');