我有各种表示电子邮件的 Velocity 模板文件。我正在寻找一种优雅的方式来允许模板文件输出消息的主题行以及内容。我考虑了几个选项:
使输出的第一行类似于“主题:Bla”,然后在 Java 中将其删除。我拒绝了这种方法,因为从 Java 执行花哨的字符串操作正是我试图通过首先使用 Velocity 来解决的问题。
在 Velocity 宏中的某些代码的映射中抛出一个可设置的对象以调用 setter。优点:很简单。缺点:我不喜欢从 Velocity 设置外部对象的想法,即使只是一种输出形式。不过,这可能是一种不合理的不喜欢。
创建一些自定义速度命令,如#setSubjectLine。优点:更优雅。缺点:将作为有效命令应用于我的所有模板,无论它们是否是电子邮件。
为主题行和电子邮件的其余部分设置单独的模板文件。优点:根本没有什么特别的技巧!缺点:并非所有电子邮件逻辑都位于同一个地方。
我不知道一些很酷的速度技巧。
???
所以我该怎么做?你有5或6的建议吗?我应该选择 1、2、3 或 4 的原因?