|
1 | 1 | /* |
2 | | - * Copyright 2012-2021 the original author or authors. |
| 2 | + * Copyright 2012-2022 the original author or authors. |
3 | 3 | * |
4 | 4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
5 | 5 | * you may not use this file except in compliance with the License. |
|
24 | 24 | import nz.net.ultraq.thymeleaf.layoutdialect.LayoutDialect; |
25 | 25 | import org.apache.commons.logging.Log; |
26 | 26 | import org.apache.commons.logging.LogFactory; |
27 | | -import org.thymeleaf.dialect.IDialect; |
28 | 27 | import org.thymeleaf.extras.java8time.dialect.Java8TimeDialect; |
29 | 28 | import org.thymeleaf.extras.springsecurity5.dialect.SpringSecurityDialect; |
30 | | -import org.thymeleaf.spring5.ISpringTemplateEngine; |
31 | 29 | import org.thymeleaf.spring5.ISpringWebFluxTemplateEngine; |
32 | 30 | import org.thymeleaf.spring5.SpringTemplateEngine; |
33 | | -import org.thymeleaf.spring5.SpringWebFluxTemplateEngine; |
34 | 31 | import org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver; |
35 | 32 | import org.thymeleaf.spring5.view.ThymeleafViewResolver; |
36 | 33 | import org.thymeleaf.spring5.view.reactive.ThymeleafReactiveViewResolver; |
37 | 34 | import org.thymeleaf.templatemode.TemplateMode; |
38 | | -import org.thymeleaf.templateresolver.ITemplateResolver; |
39 | 35 |
|
40 | | -import org.springframework.beans.factory.ObjectProvider; |
41 | 36 | import org.springframework.boot.autoconfigure.AutoConfigureAfter; |
42 | 37 | import org.springframework.boot.autoconfigure.EnableAutoConfiguration; |
43 | 38 | import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; |
|
57 | 52 | import org.springframework.context.ApplicationContext; |
58 | 53 | import org.springframework.context.annotation.Bean; |
59 | 54 | import org.springframework.context.annotation.Configuration; |
| 55 | +import org.springframework.context.annotation.Import; |
60 | 56 | import org.springframework.core.Ordered; |
61 | 57 | import org.springframework.security.web.server.csrf.CsrfToken; |
62 | 58 | import org.springframework.util.MimeType; |
|
80 | 76 | @EnableConfigurationProperties(ThymeleafProperties.class) |
81 | 77 | @ConditionalOnClass({ TemplateMode.class, SpringTemplateEngine.class }) |
82 | 78 | @AutoConfigureAfter({ WebMvcAutoConfiguration.class, WebFluxAutoConfiguration.class }) |
| 79 | +@Import({ TemplateEngineConfigurations.ReactiveTemplateEngineConfiguration.class, |
| 80 | + TemplateEngineConfigurations.DefaultTemplateEngineConfiguration.class }) |
83 | 81 | public class ThymeleafAutoConfiguration { |
84 | 82 |
|
85 | 83 | @Configuration(proxyBeanMethods = false) |
@@ -130,23 +128,6 @@ SpringResourceTemplateResolver defaultTemplateResolver() { |
130 | 128 |
|
131 | 129 | } |
132 | 130 |
|
133 | | - @Configuration(proxyBeanMethods = false) |
134 | | - protected static class ThymeleafDefaultConfiguration { |
135 | | - |
136 | | - @Bean |
137 | | - @ConditionalOnMissingBean(ISpringTemplateEngine.class) |
138 | | - SpringTemplateEngine templateEngine(ThymeleafProperties properties, |
139 | | - ObjectProvider<ITemplateResolver> templateResolvers, ObjectProvider<IDialect> dialects) { |
140 | | - SpringTemplateEngine engine = new SpringTemplateEngine(); |
141 | | - engine.setEnableSpringELCompiler(properties.isEnableSpringElCompiler()); |
142 | | - engine.setRenderHiddenMarkersBeforeCheckboxes(properties.isRenderHiddenMarkersBeforeCheckboxes()); |
143 | | - templateResolvers.orderedStream().forEach(engine::addTemplateResolver); |
144 | | - dialects.orderedStream().forEach(engine::addDialect); |
145 | | - return engine; |
146 | | - } |
147 | | - |
148 | | - } |
149 | | - |
150 | 131 | @Configuration(proxyBeanMethods = false) |
151 | 132 | @ConditionalOnWebApplication(type = Type.SERVLET) |
152 | 133 | @ConditionalOnProperty(name = "spring.thymeleaf.enabled", matchIfMissing = true) |
@@ -199,25 +180,6 @@ private String appendCharset(MimeType type, String charset) { |
199 | 180 |
|
200 | 181 | } |
201 | 182 |
|
202 | | - @Configuration(proxyBeanMethods = false) |
203 | | - @ConditionalOnWebApplication(type = Type.REACTIVE) |
204 | | - @ConditionalOnProperty(name = "spring.thymeleaf.enabled", matchIfMissing = true) |
205 | | - static class ThymeleafReactiveConfiguration { |
206 | | - |
207 | | - @Bean |
208 | | - @ConditionalOnMissingBean(ISpringWebFluxTemplateEngine.class) |
209 | | - SpringWebFluxTemplateEngine templateEngine(ThymeleafProperties properties, |
210 | | - ObjectProvider<ITemplateResolver> templateResolvers, ObjectProvider<IDialect> dialects) { |
211 | | - SpringWebFluxTemplateEngine engine = new SpringWebFluxTemplateEngine(); |
212 | | - engine.setEnableSpringELCompiler(properties.isEnableSpringElCompiler()); |
213 | | - engine.setRenderHiddenMarkersBeforeCheckboxes(properties.isRenderHiddenMarkersBeforeCheckboxes()); |
214 | | - templateResolvers.orderedStream().forEach(engine::addTemplateResolver); |
215 | | - dialects.orderedStream().forEach(engine::addDialect); |
216 | | - return engine; |
217 | | - } |
218 | | - |
219 | | - } |
220 | | - |
221 | 183 | @Configuration(proxyBeanMethods = false) |
222 | 184 | @ConditionalOnWebApplication(type = Type.REACTIVE) |
223 | 185 | @ConditionalOnProperty(name = "spring.thymeleaf.enabled", matchIfMissing = true) |
|
0 commit comments