1

文档说:

提供静态内容的资源位置,在 Spring 资源模式中指定。每个位置都必须指向一个有效的目录。可以将多个位置指定为逗号分隔的列表,并且将按照指定的顺序检查给定资源的位置。例如,“/, classpath:/META-INF/public-web-resources/”的值将允许从 Web 应用程序根目录和包含 /META-INF/ 的类路径上的任何 JAR 提供资源public-web-resources/ 目录,Web 应用根目录中的资源优先。

我将资源放置在我的应用程序之外,如下所示:

  • 常见的
    • css
    • js
  • 模块1
    • css
    • js
  • 模块2
    • ...

我希望模块特定资源可用,localhost/%module_name%/resources/公共资源可用localhost/%module_name%/resources/common/

在module1 的web-context.xml中,我有:

<mvc:resources mapping="/resources/**" location="${spring.view.resourcesDir}/"/>

当我设置spring.view.resourcesDir=file:///c://resources//module1请求 localhost/module1/resources/css时,工作正常。

但是当我设置

spring.view.resourcesDir=file:///c://resources//module1,file:///c://resources//

一切都中断了,localhost/module1/resources/csslocalhost/module1/resources/common/css返回404错误。如果位置没有嵌套,即使第二个位置完全不同,也会发生同样的事情file:///d://

谁能帮我解决这个问题?

4

1 回答 1

0

你的问题的答案在你的问题中

root 并从包含的类路径上的任何 JAR

它应该在您的类路径下。404当它不在您的类路径下时,您会收到错误。我不明白的是为什么要指定绝对路径?不是一个好的选择。

于 2013-07-12T07:52:29.260 回答