Для чего нужен пользователь TemplateResolver.setOrder в thymleaf? - PullRequest
0 голосов
/ 27 апреля 2018

Я использую Thymeleaf для своих шаблонов электронной почты, я гуглил и смог успешно выполнить код со следующей конфигурацией: -

@Configuration
public class TemplateEngineConfig {

    @Autowired
    private MailConfigProps mailConfigProps;

    @Bean
    public SpringTemplateEngine templateEngine() {
        SpringTemplateEngine templateEngine = new SpringTemplateEngine();
        templateEngine.addTemplateResolver(templateResolver());
        return templateEngine;
    }

    private TemplateResolver templateResolver() {
        TemplateResolver resolver = new ClassLoaderTemplateResolver();
        resolver.setPrefix(mailConfigProps.getTemplatePath());
        resolver.setSuffix(".html");
        resolver.setTemplateMode("HTML5");
        resolver.setOrder(1);
        resolver.setCacheable(true);
        return resolver;
    }
}

Здесь все понятно, кроме setOrder. Я пытался найти его в разных местах, и единственная информация, которую я получаю, это то, что " Устанавливает новый порядок для механизма шаблонов в цепочке. Заказ должен начинаться с 1. ".

Ниже приводится документация:

setOrder
public void setOrder(Integer order)
Sets a new order for the template engine in the chain. Order should start with 1.
Parameters:
order - the new order.
Can someone please share why `setOrder` is there and when should it be used in my application and what should be the appropriate values to be set in different scenarios.

Что произойдет, если я не предоставлю это значение?

1 Ответ

0 голосов
/ 27 апреля 2018

Ваше приложение может использовать различные типы шаблонов, такие как HTML, TXT or String и т. Д. У них может быть несколько типов распознавателей шаблонов. Эти распознаватель с несколькими шаблонами можно зарегистрировать с помощью template engine. Все распознаватели представлений в приложении, выполняемые в упорядоченной цепочке, пока один из них не сможет разрешить это представление. Так, TemplateResolver#setOrder в основном определяет порядок цепочки. Существует свойство resolvablePatterns, которое определяет, будет ли распознаватель шаблонов считать имя представления разрешенным им или нет. Вы также можете установить resolvablePatterns с помощью setResolvablePatterns

templateResolver.setResolvablePatterns(Collections.singleton("text/*"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...