Spring MVC引用JS和CSS文件中的绝对URL

时间:2014-04-14 05:31:18

标签: spring-mvc

当您需要从SpringMVC中的JSP文件引用资源文件时,您必须传递资源的绝对URL,传统上使用<c:url ...href="${pageContext.request.contextPath}/css/...

但是,如何在CSS和JS文件中传递绝对URL?在CSS中,有时您可以使用属性的URL。在我的JS文件中,我可能需要对我在某处定义的绝对URL进行AJAX调用。在这两种情况下,这些URL都可以在不同的时间发生变化,但谷歌搜索并未指出处理这类案例的最佳方法。 我不会在上面添加一个新的maven插件或其他一些JS或CSS编译器来实现这一点。

1 个答案:

答案 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');