|
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