#为什么基于SpringBoot的模板引擎Thymeleaf,在里面用标准HTML写前端写的代码,运行程序时候却无法加载静态资源(语言-javascript)
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
关注【以下回答由 GPT 生成】
问题分析
这个问题通常出现在基于SpringBoot的项目中,在使用Thymeleaf模板引擎时无法加载静态资源。这可能是因为Thymeleaf模板引擎默认会将所有的资源都解析为模板路径,而不会直接访问static文件夹中的资源。解决这个问题的方法主要有两种:一种是在Thymeleaf配置中添加对静态资源的映射,另一种是使用其他前端框架来处理静态资源。
解决方案
方法一:配置Thymeleaf静态资源解析
- 确保静态资源放置在src/main/resources/static目录下。
- 在application.properties或application.yml文件中添加以下配置:
spring.thymeleaf.prefix=classpath:/templates/ spring.thymeleaf.suffix=.html spring.thymeleaf.mode=LEGACYHTML5 spring.thymeleaf.encoding=UTF-8 spring.thymeleaf.content-type=text/html spring.thymeleaf.cache=false spring.thymeleaf.check-template=true- 添加WebMvcConfigurer配置类,并通过addResourceHandlers方法添加对静态资源的映射:
@Configuration public class WebMvcConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/"); } }- 重新启动项目,访问静态资源时使用如下路径:/static/yourfile.xxx。
方法二:使用其他前端框架处理静态资源
如果Thymeleaf仍无法加载静态资源,您可以考虑使用其他前端框架如React、Angular或Vue.js等处理前端代码,这些框架可以更灵活地处理静态资源。
结论
通过以上方法中的任一种或者两种方法,您应该能够解决基于SpringBoot的Thymeleaf模板引擎无法加载静态资源的问题。希望以上解决方案对您有所帮助,如有任何疑问请随时与我联系。
【相关推荐】
- 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7474601
- 这篇博客也不错, 你可以看下利用thymeleaf 模板技术对读取的班级信息进行映射,显示 班级名称。 对班级进行 删除,修改 和 添加。 SpringBoot 的 model 映射。完整的增删改查!
- 除此之外, 这篇博客: Springboot使用Thymeleaf模板引擎无法加载css、js样式等静态资源中的 Springboot使用Thymeleaf模板引擎无法加载css、js样式等静态资源 部分也许能够解决你的问题。
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报