Spring Boot Thymeleaf 配置多个模版路径
Spring Boot Thymeleaf 大约 2143 字默认配置
从源码可知,默认会注入一个defaultTemplateResolver
对象,我们也可以注入同名对象起到覆盖作用。
@AutoConfiguration(after = { WebMvcAutoConfiguration.class, WebFluxAutoConfiguration.class })
@EnableConfigurationProperties(ThymeleafProperties.class)
@ConditionalOnClass({ TemplateMode.class, SpringTemplateEngine.class })
@Import({ TemplateEngineConfigurations.ReactiveTemplateEngineConfiguration.class,
TemplateEngineConfigurations.DefaultTemplateEngineConfiguration.class })
public class ThymeleafAutoConfiguration {
@Configuration(proxyBeanMethods = false)
@ConditionalOnMissingBean(name = "defaultTemplateResolver")
static class DefaultTemplateResolverConfiguration {
@Bean
SpringResourceTemplateResolver defaultTemplateResolver() {
// ...
}
}
}
新增路径
注入不同名称的SpringResourceTemplateResolver
即可。
还可以不同的ITemplateResolver
实现类来映射对应的文件夹。
@Configuration
public class Config {
private final ThymeleafProperties properties;
private final ApplicationContext applicationContext;
Config(ThymeleafProperties properties, ApplicationContext applicationContext) {
this.properties = properties;
this.applicationContext = applicationContext;
}
@Bean
public SpringResourceTemplateResolver secondTemplateResolver() {
SpringResourceTemplateResolver resolver = new SpringResourceTemplateResolver();
resolver.setApplicationContext(this.applicationContext);
resolver.setPrefix("file:" + System.getProperty("user.dir") + "/templates2/");
resolver.setSuffix(this.properties.getSuffix());
resolver.setTemplateMode(this.properties.getMode());
if (this.properties.getEncoding() != null) {
resolver.setCharacterEncoding(this.properties.getEncoding().name());
}
resolver.setCacheable(this.properties.isCache());
Integer order = this.properties.getTemplateResolverOrder();
if (order != null) {
resolver.setOrder(order);
}
resolver.setCheckExistence(this.properties.isCheckTemplate());
resolver.setCacheTTLMs(Duration.ofSeconds(5).toMillis());
return resolver;
}
}
阅读 354 · 发布于 2023-08-15
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb扫描下方二维码关注公众号和小程序↓↓↓

昵称:
随便看看
换一批
-
Go 学习地址阅读 1351
-
Spring Boot 代码中生成 MultipartFile 对象阅读 674
-
Charles 提示 SSL Proxying not enabled for this host阅读 9682
-
Redis 监控 monitor阅读 2128
-
Java 测试迭代集合耗时阅读 3165
-
Nginx 配置之开启缓存过期时间阅读 3340
-
Kubernetes 使用 Telepresence 转发内部流量到本地开发环境阅读 2615
-
Android ScrollView 嵌套 ListView 问题阅读 1567
-
Android 混淆 proguard.cfg阅读 4044
-
Spring Cloud OpenFeign 自定义 ErrorDecoder阅读 945