19.3 使用模板生成 Email

使用字符串拼接来构建 Email 消息的问题在于 Email 最终会是什么样子并不清晰。在你的大脑中解析 HTML 标签并想象它在渲染时会是什么样子是挺困难的。而将 HTML 混合在 Java 代码中又会使得这个问题更加复杂。如果能够将 Email 的布局抽取到一个模板中,而这个模板可以由美术设计师(可能是很讨厌 Java 代码的人)来完成将会是很棒的一件事。

我们需要与最终 HTML 接近的方式来表达 Email 布局,然后将模板转换成 String 并传递给 helper 的 setText() 方法。在将模板转换为 String 时,我们有多种模板方案可供选择,包括 Apache Velocity 和 Thymeleaf。让我们看一下如何使用这两种方案创建富文本的 Email 消息,先从 Velocity 开始吧。