新的Spring MVC 4中的样式表

时间:2014-02-17 08:10:10

标签: spring-mvc thymeleaf spring-boot

我在Spring MVC 4(Spring Boot)中启动了一个新的Web项目,我的问题是我必须放置我的css文件?我正在使用百万美元模板引擎和我的文件夹结构,如图enter image description here

你可以看到,我尝试在resources文件夹下创建一个CSS文件夹,但index.html中的链接<link rel="stylesheet" href="/resources/css/main.css" />不起作用。任何想法?

3 个答案:

答案 0 :(得分:10)

the howto docs

  

默认情况下,Spring Boot将在类路径中或从ServeltContext的根目录中提供名为/ static(或/ public或/ resources或/ META-INF / resources)的文件夹中的静态内容。

还有一两个样本,例如this one

答案 1 :(得分:4)

确保您将项目打包为war中的pom.xml

/src/main/resources文件夹通常部署到WEB-INF/classes,因此无法直接从上下文访问。

但是,/src/main/webapp通常部署到/(您的网络应用的根目录),可以从上下文访问。

您应将自己的网络资源置于/src/main/webapp下(例如/src/main/webapp/css)。然后,这些将自动部署在Web应用程序的上下文根目录下。然后可以从例如/css

<link rel="stylesheet" th:href="@{/css/main.css}" />

我还会将您的模板移到/src/main/webapp/WEB-INF/templates

答案 2 :(得分:3)

如果您阅读SpringBoot文档,您将看到Spring Boot将自动添加位于以下任何目录中的静态Web资源:

  • / META-INF / resources /
  • / resources /
  • / static /
  • /公共/

您已创建名为“css”的文件夹,并将文件“main.css”放在此文件夹中。 因此,在HTML中引用此文件时应使用相对路径

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