得到解决的百日咳模板

时间:2018-06-05 15:38:27

标签: java spring thymeleaf

我正在尝试解析百万美元的模板,但是,作为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 :(得分:0)

您可以将模板配置为 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()));

请告诉我这是否适合您