【发布时间】:2009-02-10 15:35:43
【问题描述】:
我已经满足了将模板化内容与生成填充该内容的动态字段的代码分开存储的需求(想想 word 中的邮件合并)。用例通常围绕这样一个事实,即我想编写可以发送某种类型的动态内容(通常是电子邮件)的代码,我希望允许我的用户在不更改任何代码的情况下进行自定义。
例如,我们向客户发送电子邮件。我们最终会调整发送出去的电子邮件并添加动态内容(例如,我们可能想说“亲爱的 {Contact.FirstName}”)。将这些电子邮件的格式放入数据库或一些 XML 文件中并编写代码分别为其提供所有属性的值是很方便的。因此,创建一个包含内容的 Email.XML,并使用一个引擎将 XML 文件传递给 Contact 对象并返回电子邮件的 HTML。从概念上讲,这与在 MVC 模式中分离视图层的目标非常相似(在这种情况下,电子邮件是视图,引擎是控制器,联系人对象是模型)。
看起来 .Net 领域有两个竞争者(都是 java 的端口)(还有更多 here,但它们是相当小众的玩家)。
- StringTemplate.Net
- NVelocity (original project, fork of the castle project)
有没有人使用过这些或其他模板化引擎?在选择时我应该考虑它们之间的主要区别吗
【问题讨论】:
标签: .net templates template-engine