Получение решенного шаблона тимьяна - PullRequest
0 голосов
/ 05 июня 2018

Я пытаюсь разрешить шаблон тимелист, но в качестве возврата метода process () я получаю имя шаблона.Я хотел бы получить необработанный HTML-код для хранения его в слое данных для будущего использования.

@Override
public String process(String template, Map<String, Object> model) {

    String process = templateEngine.process(template, new Context(config.getLocale(), model));
    return process;
}

Я пытался использовать все распознаватели, но все они работают одинаково.Есть ли способ сделать это без чтения html-файла в виде строки и анализа целевого шаблона?

1 Ответ

0 голосов
/ 07 июня 2018

Вы можете настроить шаблон как RAW

, например, в классе @configuration определить это

@Configuration
public  class ThymeleafConfig {

@Bean(name = "rawTemplateEngine")
public TemplateEngine rawTemplateEngine() {
    TemplateEngine templateEngine = new TemplateEngine();
    templateEngine.addTemplateResolver(rawTemplateResolver());
    return templateEngine;
}

private ITemplateResolver rawTemplateResolver() {
    ClassLoaderTemplateResolver templateResolver = new ClassLoaderTemplateResolver();
    templateResolver.setPrefix("/templates/"); //or whatever other directory you have the files
    templateResolver.setSuffix(".html");//if they are html files
    templateResolver.setTemplateMode(TemplateMode.RAW);
    templateResolver.setCharacterEncoding("UTF8");
    templateResolver.setCheckExistence(true);
    return templateResolver;
}

}

Тогда,в классе, в котором вам нужен этот bean-компонент, автоматически подключите его

@Autowired
@Qualifier("rawTemplateEngine")
TemplateEngine templateEngineRaw;

, а затем позвоните

String process = templateEngineRaw.process(template, new Context(config.getLocale()));

Дайте мне знать, сработало ли это для вас

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...