SpringBoot+thymeleaf如何访问静态资源

SpringBoot+thymeleaf如何访问静态资源

1.版本信息

spring boot : 2.1.8

2.目录结构

3.问题描述

在springboot项目搭建好以后,访问HTML页面时发现没有任何的样式。

4.页面路径

首先修改HTML页面对静态资源文件的访问路径。

(1)在HTML的头部添加thymeleaf的标记

<html lang="en" xmlns:th="http://www.thymeleaf.org">

(2)修改网页文档中的对静态资源的引用,语法规则如下:

命令格式:   
th:href="@{/static/.....}"

命令用法:
<link rel="stylesheet"  th:href="@{/static/vendor/bootstrap/css/bootstrap.min.css}">

解释说明:
1.springboot2.0之后的静态资源文件需要添加/static/,在IDEA中测试路径写法是否正确是按住Ctrl键并用鼠标左键点击,若能跳转到资源则说明路径正确。
2.th:href 替换的是href属性,相对应的还有src,可以使用th:src=“@{/static/....}”进行替换。

5.扩展MVC

springboot的优点在于有各种自动配置,在这里我们需要对springMVC进行扩展配置则需要继承WebMvcConfigurationSupport,这是2.0以后修改的地方,具体的做法步骤如下。

(1)创建扩展

首先在src下新建config目录,并创建SpringMVC配置扩展类,并继承WebMvcConfigurationSupport类。

(2)重写方法

重写方法addResourceHandlers,将其中的请求映射路径做修改。

@Override
protected void addResourceHandlers(ResourceHandlerRegistry registry) {
     // 将url为 /static/** 的请求映射到 /static/ 路径下进行查找
    registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
}

6.启动测试

访问项目查看页面是否正确显示,到这里应该是能够解决的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章