关于springboot+thymeleaf不能引用外部静态资源

简介: 关于springboot+thymeleaf不能引用外部静态资源

关于springboot+thymeleaf不能引用外部静态资源

第一次写博客,为了记录一下踩的坑,大家能够避过。花了4个小时一直在找,为什么一直无法成功引用外部静态资源

问题:springboot+thymeleaf 引入css、js 无效。
目录结构如下图
在这里插入图片描述
在这里插入图片描述

项目为springboot2.0X以上的版本,这些都引入了,应该是可以的,百度了一圈,全部都类似,改配置文件都试过了

spring.mvc.static-path-pattern=/**
spring.mvc.static-path-pattern=/static/**

还是不行。
-----------------------------手动分割线------------------------------------------
解决办法:
如果你以上配置都做了,应该就可以了。
注意的要点是:引入这两个就行了

<html lang="en" xmlns:th="http://www.thymeleaf.org">  //导入头文件
 <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

springboot底层会自动配置加载目录分别是:

  • classpath:/META-INF/resources/
  • classpath:/resources/
  • classpath:/static/
  • classpath:/public/

而这两句代码是指springboot 改变了mvc的配置
spring.mvc.static-path-pattern=/**
spring.mvc.static-path-pattern=/static/**

有同学问我th:src="@{XXXXXX}" 的作用是什么,与src=“XXXXX”的区别是什么
使用@关键字 引用地址 ,既可以是绝对路径,也可以是相对路径,src同理
区别在于,项目跑起来部署后,访问的资源路径会发生改变,导致静态的src无法获取资源文件,而th:src=“@{}” 可以获取

举例: 在application.properties 中添加这句代码

server.servlet.context-path=/crud

访问的路径也会随之改变

划重点,如果你到了这一步还不行

那么看看你有没有编写了mvc的配置类?如果是的话那就继承WebMvcConfigurerAdapter,不要继承WebMvcConfigurerationSupport,继承后者表明完全接管springMvc,会导致springBoot的默认设置都丢弃掉。

猛然落泪,留下了不学无术的眼泪,因为自己多写了mvc配置类,结果导致我寻找了这么久,在此记录一下。
一般mvc的配置类可以写注释@RequestMapping

未经过作者允许,不得转载。

相关文章
|
JavaScript 前端开发 Java
SpringBoot之静态资源规则与定制化
SpringBoot之静态资源规则与定制化
247 1
|
移动开发 Java HTML5
Springboot web静态资源配置
Springboot web静态资源配置
439 0
|
8月前
|
存储 前端开发 Java
Springboot静态资源映射及文件映射
在Spring Boot项目中,为了解决前端访问后端存储的图片问题,起初尝试通过静态资源映射实现,但发现这种方式仅能访问打包时已存在的文件。对于动态上传的图片(如头像),需采用资源映射配置,将特定路径映射到服务器上的文件夹,确保新上传的图片能即时访问。例如,通过`addResourceHandler(&quot;/img/**&quot;).addResourceLocations(&quot;file:E:\\myProject\\forum_server\\&quot;)`配置,使前端可通过URL直接访问图片。
441 0
Springboot静态资源映射及文件映射
|
7月前
|
缓存 Java 应用服务中间件
微服务——SpringBoot使用归纳——Spring Boot集成Thymeleaf模板引擎——依赖导入和Thymeleaf相关配置
在Spring Boot中使用Thymeleaf模板,需引入依赖`spring-boot-starter-thymeleaf`,并在HTML页面标签中声明`xmlns:th=&quot;http://www.thymeleaf.org&quot;`。此外,Thymeleaf默认开启页面缓存,开发时建议关闭缓存以实时查看更新效果,配置方式为`spring.thymeleaf.cache: false`。这可避免因缓存导致页面未及时刷新的问题。
290 0
springboot静态资源目录访问,及自定义静态资源路径,index页面的访问
本文介绍了Spring Boot中静态资源的访问位置、如何进行静态资源访问测试、自定义静态资源路径和静态资源请求映射,以及如何处理自定义静态资源映射对index页面访问的影响。提供了两种解决方案:取消自定义静态资源映射或编写Controller来截获index.html的请求并重定向。
springboot静态资源目录访问,及自定义静态资源路径,index页面的访问
|
11月前
|
前端开发 Java Spring
SpringBoot项目thymeleaf页面支持词条国际化切换
SpringBoot项目thymeleaf页面支持词条国际化切换
234 2
|
11月前
|
JavaScript 前端开发 Java
SpringBoot_web开发-webjars&静态资源映射规则
https://www.91chuli.com/ 举例:jquery前端框架
148 0
|
前端开发 Java Spring
springboot+thymeleaf+bootstrap 超级无敌简洁的页面展示 商城管理页面
这篇文章展示了一个使用Spring Boot、Thymeleaf和Bootstrap框架开发的简洁、响应式的商城管理页面,包括美食介绍、产品详情、购物车等功能,适合初学者学习和使用。
springboot+thymeleaf+bootstrap 超级无敌简洁的页面展示 商城管理页面
|
Java 数据库 Spring
springboot+thymeleaf中前台页面展示中、将不同的数字替换成不同的字符串。使用条件运算符
这篇文章介绍了如何在Spring Boot和Thymeleaf框架中使用条件运算符来根据数字字段的值动态替换显示不同的字符串,例如将订单状态的数字0和1替换为"未付款"和"已付款"等。
springboot+thymeleaf中前台页面展示中、将不同的数字替换成不同的字符串。使用条件运算符
|
Java 网络架构
springboot配合thymeleaf,调用接口不跳转页面只显示文本
springboot配合thymeleaf,调用接口不跳转页面只显示文本
494 0