如何在百里香模板名称的位置发送html内容

时间:2019-06-22 08:39:16

标签: spring-boot thymeleaf

我想在电子邮件中以文本形式发送html内容,并希望将一些变量绑定到该html内容中。此html内容保存在我用来发送电子邮件的数据库中。所以我想使用 SpringTemplateEngine的处理方法,它接受模板名称和上下文变量。但我有html内容而不是模板。我想为此使用百里香模板引擎。但我不明白如何转换HTML内容,例如:

<html>
<head></head>
<title></title>
<body>
<div>
<p>Your ${value1} for ${value2}</p>
</div
</body>
通过以下方法

到百里香模板:

String mailTemplate = templateEngine.process("mailTemplate", context);

请有人帮助我克服这个问题。

1 个答案:

答案 0 :(得分:0)

有一个 StringTemplateResolver ,我们可以使用它在模板名称的位置将html内容作为字符串发送。

例如:

  

配置模板解析器和模板引擎

private ITemplateResolver stringTemplateResolver() {
    final StringTemplateResolver templateResolver = new StringTemplateResolver();
    templateResolver.setTemplateMode(TemplateMode.HTML);
    return templateResolver;
}

@Bean
public TemplateEngine emailTemplateEngine() {
    final SpringTemplateEngine templateEngine = new SpringTemplateEngine();
    templateEngine.addTemplateResolver(stringTemplateResolver());
    return templateEngine;
}

,并在您的电子邮件服务中使用它。这解决了您的问题。