|
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.AutoConfiguration;
|
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;
|
|
79 | 75 | @AutoConfiguration(after = { WebMvcAutoConfiguration.class, WebFluxAutoConfiguration.class })
|
80 | 76 | @EnableConfigurationProperties(ThymeleafProperties.class)
|
81 | 77 | @ConditionalOnClass({ TemplateMode.class, SpringTemplateEngine.class })
|
| 78 | +@Import({ TemplateEngineConfigurations.ReactiveTemplateEngineConfiguration.class, |
| 79 | + TemplateEngineConfigurations.DefaultTemplateEngineConfiguration.class }) |
82 | 80 | public class ThymeleafAutoConfiguration {
|
83 | 81 |
|
84 | 82 | @Configuration(proxyBeanMethods = false)
|
@@ -129,23 +127,6 @@ SpringResourceTemplateResolver defaultTemplateResolver() {
|
129 | 127 |
|
130 | 128 | }
|
131 | 129 |
|
132 |
| - @Configuration(proxyBeanMethods = false) |
133 |
| - protected static class ThymeleafDefaultConfiguration { |
134 |
| - |
135 |
| - @Bean |
136 |
| - @ConditionalOnMissingBean(ISpringTemplateEngine.class) |
137 |
| - SpringTemplateEngine templateEngine(ThymeleafProperties properties, |
138 |
| - ObjectProvider<ITemplateResolver> templateResolvers, ObjectProvider<IDialect> dialects) { |
139 |
| - SpringTemplateEngine engine = new SpringTemplateEngine(); |
140 |
| - engine.setEnableSpringELCompiler(properties.isEnableSpringElCompiler()); |
141 |
| - engine.setRenderHiddenMarkersBeforeCheckboxes(properties.isRenderHiddenMarkersBeforeCheckboxes()); |
142 |
| - templateResolvers.orderedStream().forEach(engine::addTemplateResolver); |
143 |
| - dialects.orderedStream().forEach(engine::addDialect); |
144 |
| - return engine; |
145 |
| - } |
146 |
| - |
147 |
| - } |
148 |
| - |
149 | 130 | @Configuration(proxyBeanMethods = false)
|
150 | 131 | @ConditionalOnWebApplication(type = Type.SERVLET)
|
151 | 132 | @ConditionalOnProperty(name = "spring.thymeleaf.enabled", matchIfMissing = true)
|
@@ -198,25 +179,6 @@ private String appendCharset(MimeType type, String charset) {
|
198 | 179 |
|
199 | 180 | }
|
200 | 181 |
|
201 |
| - @Configuration(proxyBeanMethods = false) |
202 |
| - @ConditionalOnWebApplication(type = Type.REACTIVE) |
203 |
| - @ConditionalOnProperty(name = "spring.thymeleaf.enabled", matchIfMissing = true) |
204 |
| - static class ThymeleafReactiveConfiguration { |
205 |
| - |
206 |
| - @Bean |
207 |
| - @ConditionalOnMissingBean(ISpringWebFluxTemplateEngine.class) |
208 |
| - SpringWebFluxTemplateEngine templateEngine(ThymeleafProperties properties, |
209 |
| - ObjectProvider<ITemplateResolver> templateResolvers, ObjectProvider<IDialect> dialects) { |
210 |
| - SpringWebFluxTemplateEngine engine = new SpringWebFluxTemplateEngine(); |
211 |
| - engine.setEnableSpringELCompiler(properties.isEnableSpringElCompiler()); |
212 |
| - engine.setRenderHiddenMarkersBeforeCheckboxes(properties.isRenderHiddenMarkersBeforeCheckboxes()); |
213 |
| - templateResolvers.orderedStream().forEach(engine::addTemplateResolver); |
214 |
| - dialects.orderedStream().forEach(engine::addDialect); |
215 |
| - return engine; |
216 |
| - } |
217 |
| - |
218 |
| - } |
219 |
| - |
220 | 182 | @Configuration(proxyBeanMethods = false)
|
221 | 183 | @ConditionalOnWebApplication(type = Type.REACTIVE)
|
222 | 184 | @ConditionalOnProperty(name = "spring.thymeleaf.enabled", matchIfMissing = true)
|
|
0 commit comments