在非Spring Boot应用程序中从外部源(JAR文件外部)加载Thymeleaf模板

时间:2020-03-06 13:36:28

标签: java thymeleaf

在调用 getTemplate()方法时,会引发此错误- “错误解析模板[betreff_product_request],模板可能不存在,或者任何已配置的模板解析器都无法访问该模板” 。 是因为我在 templateResolver.setPrefix(“ D:\\ templates \\”);中提到的错误路径吗? 我该如何解决?

public class MailerTemplateEngine {
    private final TemplateEngine templateEngine;

    public MailerTemplateEngine() {

        this.templateEngine = new org.thymeleaf.TemplateEngine();
        FileTemplateResolver  templateResolver = new FileTemplateResolver ();
        templateResolver.setPrefix("D:\\templates\\");
        templateResolver.setSuffix(".txt");
        templateResolver.setTemplateMode(TemplateMode.TEXT);
        templateResolver.setOrder(templateEngine.getTemplateResolvers().size());
        templateResolver.setCharacterEncoding("UTF-8");
        templateResolver.setCacheable(false);
        templateResolver.setCheckExistence(true);
        this.templateEngine.setTemplateResolver(templateResolver);
    }

    public String getTemplate(String templateName, HashMap<String,String> parameters) {
        Context ctx = new Context();

        if (parameters != null) {
            parameters.forEach((k, v) -> {
                ctx.setVariable(k, v);
            });
        }

        return this.templateEngine.process(templateName, ctx).trim();
    }

}

0 个答案:

没有答案