代码之家  ›  专栏  ›  技术社区  ›  Graham Powell

有比xslt更好的.net模板系统吗?

  •  2
  • Graham Powell  · 技术社区  · 15 年前

    我正在创建一个网络应用程序,将需要发送各种电子邮件给用户。我不想在应用程序中硬编码电子邮件的内容,而是要使用存储在磁盘上的模板并替换其中的令牌(例如,“hello,%%firstname%!”)实际数据。我在创建xslt模板方面有一些经验,但是由于数据不是自然的xml格式,因此这可能不是最合适的。在.net中有更好的模板工具吗?

    注意,比起语言,我更喜欢内置的,但我也会考虑附加组件。

    谢谢,

    格雷厄姆

    3 回复  |  直到 15 年前
        1
  •  2
  •   Noel    15 年前

    我个人用过Spark。它是一个易于使用的文本模板库(下面是Spark语法的一个示例)

    <var names="new [] {'alpha', 'beta', 'gamma'}"/>
    <for each="var name in names">
      <test if="name == 'beta'">
        <p>beta is my favorite.</p>
        <else/>
        <p>${name} is okay too I suppose. 
      </test>
    </for>
    

    它甚至附带了一个电子邮件文本模板的示例代码,您可以在上面查看 github .

        2
  •  1
  •   mnemosyn    15 年前

    你可能想看看 MVCContrib . 他们有一个电子邮件模板系统 IEmailTemplateService 它使用视图来呈现实际的电子邮件消息,使您可以访问许多功能,包括不同的视图引擎。如果您不在mvc环境中,您可能仍然可以提取一些有用的技巧。

        3
  •  0
  •   Community CDub    8 年前

    我正在使用nvelocity,我发现它非常灵活和易于使用。它不仅允许您替换tokes,而且还包括某种编程语言,例如for条件(if)和loops(for,foreach)。

    这个 original project 好像死了,但是有一把叉子 Castle project .

    当然还有很多其他的模板库( stringtemplate 似乎很受欢迎),如你所见 in this question 我刚才问过。