在Spring Boot中配置Thymeleaf的模板路径

简介: 在Spring Boot中配置Thymeleaf的模板路径

众所周知,Thymeleaf的模板文件默认是在项目文件夹/src/main/resources/templates目录下的。不过出于特殊需要,要修改其路径怎么办呢?

1,Thymeleaf配置

在我们的项目配置文件application.properties中,添加如下配置:

# Thymeleaf配置
spring.thymeleaf.prefix=自定义的Thymeleaf的模板位置,jar内部以classpath:开头,外部路径使用file:开头
spring.thymeleaf.suffix=自动匹配后缀
spring.thymeleaf.cache=是否使用缓存

知道了以上配置的作用,我们就知道了,默认情况下Thymeleaf的spring.thymeleaf.prefix这条配置的值是classpath:/templates/(Spring Boot中classpath的根目录即对应项目文件夹/src/main/resources)

这里放出我的配置:

# Thymeleaf配置
spring.thymeleaf.prefix=file:Resources/thymeleaf/
spring.thymeleaf.suffix=.html
spring.thymeleaf.cache=false

即把模板路径设置为当前目录下(指项目根目录或者编译后运行jar时的运行目录)的Resources/thymeleaf下。

需要注意的是模板路径值最后一定要加上斜杠/,否则就会出错。

2,配置Thymeleaf依赖后访问静态资源问题

我们知道Spring Boot静态资源平时都是放在项目文件夹/src/main/resources/static下的,例如在工程文件夹下src/main/resources/static下放入图片qiqi.png,并编写controller:

@GetMapping("/pic")
publicStringShowPic() {
return"/qiqi.png";
}

访问127.0.0.1:8080/pic即可访问到这个图片静态资源。

但是加入thymeleaf之后,你会发现这样就不行了,因为加入thymeleaf依赖之后,Spring Boot就会去Thymeleaf模板目录下寻找资源,并自动加上尾缀,而不是像以前一样去static文件夹下寻找资源。

其实要想在使用thymeleaf之后还像原来一样访问静态资源,只需重定向即可:

@GetMapping("/pic")
publicStringShowPic() {
return"redirect:/qiqi.png";
}

可见return的静态资源地址前加上redirect:即可。

相关文章
|
负载均衡 监控 Java
Spring Cloud Gateway 全解析:路由配置、断言规则与过滤器实战指南
本文详细介绍了 Spring Cloud Gateway 的核心功能与实践配置。首先讲解了网关模块的创建流程,包括依赖引入(gateway、nacos 服务发现、负载均衡)、端口与服务发现配置,以及路由规则的设置(需注意路径前缀重复与优先级 order)。接着深入解析路由断言,涵盖 After、Before、Path 等 12 种内置断言的参数、作用及配置示例,并说明了自定义断言的实现方法。随后重点阐述过滤器机制,区分路由过滤器(如 AddRequestHeader、RewritePath、RequestRateLimiter 等)与全局过滤器的作用范围与配置方式,提
Spring Cloud Gateway 全解析:路由配置、断言规则与过滤器实战指南
|
Java 关系型数据库 MySQL
Spring Boot自动配置:魔法背后的秘密
Spring Boot 自动配置揭秘:只需简单配置即可启动项目,背后依赖“约定大于配置”与条件化装配。核心在于 `@EnableAutoConfiguration` 注解与 `@Conditional` 系列条件判断,通过 `spring.factories` 或 `AutoConfiguration.imports` 加载配置类,实现按需自动装配 Bean。
|
人工智能 Java 开发者
【Spring】原理解析:Spring Boot 自动配置
Spring Boot通过“约定优于配置”的设计理念,自动检测项目依赖并根据这些依赖自动装配相应的Bean,从而解放开发者从繁琐的配置工作中解脱出来,专注于业务逻辑实现。
3150 0
|
前端开发 Java 应用服务中间件
《深入理解Spring》 Spring Boot——约定优于配置的革命者
Spring Boot基于“约定优于配置”理念,通过自动配置、起步依赖、嵌入式容器和Actuator四大特性,简化Spring应用的开发与部署,提升效率,降低门槛,成为现代Java开发的事实标准。
|
JavaScript Java Maven
【SpringBoot(二)】带你认识Yaml配置文件类型、SpringMVC的资源访问路径 和 静态资源配置的原理!
SpringBoot专栏第二章,从本章开始正式进入SpringBoot的WEB阶段开发,本章先带你认识yaml配置文件和资源的路径配置原理,以方便在后面的文章中打下基础
769 4
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
2069 5
|
传感器 Java 数据库
探索Spring Boot的@Conditional注解的上下文配置
Spring Boot 的 `@Conditional` 注解可根据不同条件动态控制 Bean 的加载,提升应用的灵活性与可配置性。本文深入解析其用法与优势,并结合实例展示如何通过自定义条件类实现环境适配的智能配置。
794 0
探索Spring Boot的@Conditional注解的上下文配置
|
安全 算法 Java
在Spring Boot中应用Jasypt以加密配置信息。
通过以上步骤,可以在Spring Boot应用中有效地利用Jasypt对配置信息进行加密,这样即使配置文件被泄露,其中的敏感信息也不会直接暴露给攻击者。这是一种在不牺牲操作复杂度的情况下提升应用安全性的简便方法。
1747 10
|
前端开发 Java Spring
《精通Spring MVC 4》——2.4 使用Thymeleaf
对于Web设计人员来说,Thymeleaf有一项很大的优势,那就是在服务器没有运行的时候,模板中所有的动态内容都可以采用一个默认值。资源URL可以采用相对的路径来指定,每个标签都可以包含占位符。在前面的样例里面,如果是在应用的上下文中,那么文本“Hello html”将不会显示,但是如果直接在Web浏览器中打开这个文件的话,那么它就会显示了。
2723 0
|
Java Spring 容器
SpringBoot自动配置的原理是什么?
Spring Boot自动配置核心在于@EnableAutoConfiguration注解,它通过@Import导入配置选择器,加载META-INF/spring.factories中定义的自动配置类。这些类根据@Conditional系列注解判断是否生效。但Spring Boot 3.0后已弃用spring.factories,改用新格式的.imports文件进行配置。
1596 0