关于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

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

相关文章
|
5月前
|
JavaScript 前端开发 Java
SpringBoot之静态资源规则与定制化
SpringBoot之静态资源规则与定制化
123 1
|
5月前
|
移动开发 Java HTML5
Springboot web静态资源配置
Springboot web静态资源配置
96 0
|
5月前
|
前端开发 JavaScript Java
Springboot 使用thymeleaf 服务器无法加载resources中的静态资源异常处理
Springboot 使用thymeleaf 服务器无法加载resources中的静态资源异常处理
470 0
|
26天前
|
Java Spring
springboot静态资源目录访问,及自定义静态资源路径,index页面的访问
本文介绍了Spring Boot中静态资源的访问位置、如何进行静态资源访问测试、自定义静态资源路径和静态资源请求映射,以及如何处理自定义静态资源映射对index页面访问的影响。提供了两种解决方案:取消自定义静态资源映射或编写Controller来截获index.html的请求并重定向。
springboot静态资源目录访问,及自定义静态资源路径,index页面的访问
|
27天前
|
Java 网络架构
springboot配合thymeleaf,调用接口不跳转页面只显示文本
springboot配合thymeleaf,调用接口不跳转页面只显示文本
78 0
|
2月前
|
前端开发 Java Spring
springboot+thymeleaf+bootstrap 超级无敌简洁的页面展示 商城管理页面
这篇文章展示了一个使用Spring Boot、Thymeleaf和Bootstrap框架开发的简洁、响应式的商城管理页面,包括美食介绍、产品详情、购物车等功能,适合初学者学习和使用。
springboot+thymeleaf+bootstrap 超级无敌简洁的页面展示 商城管理页面
|
2月前
|
Java 数据库 Spring
springboot+thymeleaf中前台页面展示中、将不同的数字替换成不同的字符串。使用条件运算符
这篇文章介绍了如何在Spring Boot和Thymeleaf框架中使用条件运算符来根据数字字段的值动态替换显示不同的字符串,例如将订单状态的数字0和1替换为"未付款"和"已付款"等。
springboot+thymeleaf中前台页面展示中、将不同的数字替换成不同的字符串。使用条件运算符
|
2月前
|
Java Spring
Spring Boot实战:静态资源无法访问
Spring Boot实战:静态资源无法访问
62 0
|
3月前
|
Java
自主定义访问路径-----SpringBoot自主定义静态资源访问路径的方法
自主定义访问路径-----SpringBoot自主定义静态资源访问路径的方法
|
4月前
|
搜索推荐 前端开发 JavaScript
SpringBoot静态资源访问控制和封装集成方案
该文档描述了对基于SpringBoot的项目框架进行优化和整合的过程。原先采用前后端分离,后端兼做前端,但随着项目增多,升级维护变得复杂。因此,决定整合后台管理页面与后端代码,统一发布。设计上,框架包含后台管理资源,项目则配置具体业务页面,项目可通过覆盖框架资源实现个性化。关键步骤包括:自定义静态资源访问路径、解决图标与字体文件访问问题、设定自定义欢迎页面和页面图标,以及确保项目能正确访问框架静态资源。通过扫描jar包、解压和拷贝资源到项目目录,实现了框架静态资源的动态加载。此外,调整静态资源访问优先级,保证正确加载。最终实现支持jar和war包的项目结构优化。
103 4