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



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

<html>
<head></head>
<title></title>
<body>
<div>
<p>Your ${value1} for ${value2}</p>
</div
</body>

使用以下方法到百里香叶模板:

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

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

有一个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;
}

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

最新更新