|
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