Макет диалекта Thymeleaf с текстовым режимом
Я пытаюсь настроить обработку HTML и текстовых шаблонов с помощью Thymeleaf и диалекта макета:
@Configuration
public class ThymeleafConfiguration {
@Bean
public TemplateEngine emailTemplateEngine() {
final SpringTemplateEngine templateEngine = new SpringTemplateEngine();
templateEngine.addTemplateResolver(textTemplateResolver());
templateEngine.addTemplateResolver(htmlTemplateResolver());
LayoutDialect dialect = new LayoutDialect();
templateEngine.addDialect(dialect);
return templateEngine;
}
private ITemplateResolver textTemplateResolver() {
final ClassLoaderTemplateResolver templateResolver = new ClassLoaderTemplateResolver();
templateResolver.setOrder(Integer.valueOf(1));
templateResolver.setResolvablePatterns(Collections.singleton("text/*"));
templateResolver.setPrefix("static/common/templates/email/");
templateResolver.setSuffix(".txt");
templateResolver.setTemplateMode(TemplateMode.TEXT);
templateResolver.setCharacterEncoding("UTF-8");
templateResolver.setCacheable(true);
return templateResolver;
}
private ITemplateResolver htmlTemplateResolver() {
...
}
}
HTML-шаблоны прекрасно работают с иерархической структурой, но не с текстовыми:
main.txt:
Title
[#th:block layout:fragment="content"]
content
[/th:block]
Footer
content.txt:
[#th:block layout:decorate="~{text/main}"]
[#th:block layout:fragment="content"]
Here is the URL for password change:
Some url...
[/th:block]
[/th:block]
И результат - только часть контента, без частей заголовка и нижнего колонтитула:
Here is the URL for password change:
Some url...
Должен ли этот диалект работать в текстовом режиме?