更改Spring-boot静态Web资源位置?

时间:2014-03-15 07:40:09

标签: model-view-controller thymeleaf spring-boot

基于本教程:

http://spring.io/guides/gs/serving-web-content/

我可以使用百里香为该地点的观景服务

/src/main/resources/templates/

但是,我必须将静态Web内容(css,js)放在另一个位置:

/src/main/webapp/resources

并链接 hello.html 中的资源,如:

<link href="resources/hello.css" />
<script src="resources/hello.js"></script>

目录结构是:

└── src
    └── main
        └── java
            └── hello.java
        └──resources
            └──templates
               └──hello.html
        └──webapp
            └──resources
               └──hello.js
               └──hello.css

问题是当我运行Web服务器时,静态文件的链接是有效的。但是,如果我在离线模式下打开 html 文件,链接就会中断。

我可以从

移动静态资源吗?
/src/main/webapp/resources

为:

/src/main/resources/templates/resources

新的目录结构如下:

└── src
    └── main
        └── java
            └── hello.java
        └──resources
            └──templates
               └──hello.html
               └──resources
                  └──hello.js
                  └──hello.css

我试了但是不行。

2 个答案:

答案 0 :(得分:12)

尝试src/main/resources/static(或src/main/resources/publicsrc/main/resources/resources)。所有这些都是由Spring Boot autoconfig注册的。

答案 1 :(得分:0)

在您的上下文中定义映射,如下所示 -

<mvc:resources mapping="/templates/**"
     location="classpath:/templates/" />

这将路由所有点击/ template / url以搜索src / main / resources / templates /文件夹下的内容。

如果您需要在url / prefix中进行调整,请相应地调整映射。