CSS文件无法找到thymeleaf Spring Boot

时间:2017-09-20 09:17:39

标签: html css spring-boot thymeleaf

我正在设置一个Spring启动服务器,但我无法让Thymeleaf链接到CSS。我知道有很多类似的问题,但没有一个能让我得到答案。

这是我的" home.html"。

中包含的链接
<link rel="stylesheet" type="text/css"
      href="webjars/bootstrap/3.3.7/css/bootstrap.min.css" />

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

bootstrap.min.css链接很好,但main.css给了我一个404。

Project Structure

这是它在网络下的网络控制台中显示的内容,这个网址带我转到白标错误

Request URL:http://localhost:8080/styles/main.css

5 个答案:

答案 0 :(得分:1)

尝试在名为static的资源和名为css的子文件夹下创建一个文件夹,然后在那里移动你的css文件,例如:resources/static/css/main.css

然后称之为:

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

答案 1 :(得分:1)

默认情况下,应该有一个static文件夹,您的css内容应该在publicresources。运行应用程序时查看springboot控制台,并查看它从哪里提供资源。示例如下:

Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]

根据上述信息,相应地设置您的资源位置。

答案 2 :(得分:0)

你试过了吗?

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

答案 3 :(得分:0)

您的styles文件夹位于类路径的根目录;它应该移动到Spring Boot实际配置的位置(参见"serving static content" in the Spring Boot reference documentation)。

在您的情况下,将src/main/resources/styles移至src/main/resources/static/styles应该可以解决问题。

答案 4 :(得分:0)

@Configuration
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler(
            "/img/**",
            "/css/**",
            "/libs/**")
            .addResourceLocations(
                    "classpath:/static/img/",
                    "classpath:/static/css/",
                    "classpath:/static/libs/");
    }

}