0

我正在尝试使用资源标签将我的静态元素与 Spring MVC 链接 - 我无法弄清楚它们的放置位置。

我将我的链接发布为 -

<link rel="stylesheet" href="/css/elements.css">

我已将文件放在 - WebContent/resources/css/elements.css

我在我的 servlet 中使用的资源标签是 -

<mvc:resources location="/css/**" mapping="/resources/css/"/>

我错过了什么吗?

4

4 回答 4

2

你颠倒了这两个属性。locations是文件在 Web 应用程序根目录中的位置。mapping是用于从浏览器访问资源的 url 模式。所以配置应该是

<mvc:resources location="/resources/css/" mapping="/css/**"/>

文档中所述

于 2012-10-27T16:17:00.163 回答
2

您的资源位于“resources”文件夹中,因此您在调度程序 xml 中添加了以下行。

<mvc:resources location="/css/**" mapping="/resources/css/"/>

这个资源文件夹必须在“webcontent”文件夹中。然后您需要使用上下文路径访问资源。

<link rel="stylesheet" href="${pageContext.request.contextPath}/resources/css/elements.css">

试试这个。它应该工作。

于 2012-10-28T15:52:42.897 回答
0

发现错误..使用 c:url 发布绝对路径有帮助:)

我现在将我的网址发布为

&lt;link rel="stylesheet" href="&lt;c:url value="/css/slideshow.css" />">
于 2012-10-27T17:21:50.363 回答
0

如果您使用的是相对于 Tomcat 的根上下文的位置,那么您需要这样做。这个和其他答案的区别在于我在位置映射中包含了应用程序上下文:

<mvc:resources location="/webapp-name/resources/" mapping="/resources/**"/>

属性“映射”是相对于类路径,而“位置”是相对于 Tomcat 的根目录。(注意:这些不是“相对”网址)

此配置将提供对子文件夹中资源的访问,例如/resources/css/*

于 2015-12-02T15:59:14.970 回答