【发布时间】:2015-10-02 05:41:40
【问题描述】:
在我的 Spring Boot 项目中,当我进行 maven 构建时,没有找到我的 css 样式表。我已经从 Spring Boot 官方文档和其他 stackoverflow 帖子中获得了建议,并将我的 css 文件放在了 resources/static/css 目录中。
|_src
|_main
|_java
|_resources
|_templates
|_static
|_css
|_master.css
在thymeleaf布局中声明css样式表(templates目录下的html文件):
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ipp="" xmlns:th="http://www.thymeleaf.org">
<head>
<link rel="stylesheet" href="../static/css/master.css" th:href="@{/css/master.css}" media="screen"/>
</head>
我的 pom.xml 包含 spring-boot-starter-web 和 spring-boot-starter-thymeleaf,因此预计 Spring-Boot ResourceLocations 应该将静态内容映射到 src/main/resources/static。
我也尝试过:
th:href="@{css/master.css}"
与
th:href="@{static/css/master.css}"
与
th:href="@{../static/css/master.css}"
并完全删除 th:href=...
关于是什么阻止样式表被定位的任何想法?
【问题讨论】:
-
这是正确的版本
th:href="@{css/master.css}"显示呈现的 HTML 输出。也尝试使用localhost:8080/css/master.css 直接访问css -
模板和静态文件应该存储在 /WEB-INF 而不是 /resources 下。我认为这个资源可能会有所帮助:thymeleaf.org/doc/tutorials/2.1/thymeleafspring.html
-
我曾尝试将模板和静态数据存储在 Spring Boot 映射到的不同选项下,包括 /WEB-INF。 5天后,它神奇地开始在当前目录结构下工作,但我不知道最初的问题是什么?这不可能是对代码的修改,因为该问题跨越多个单独的项目,然后开始为所有项目工作。
-
当
此代码添加 spring-config.xml 时,我解决了我的问题
标签: css spring maven spring-boot thymeleaf