【问题标题】:Most commonly used syntax for a templating engine?模板引擎最常用的语法?
【发布时间】:2010-11-16 22:38:33
【问题描述】:

我正在编写一个模板引擎(将数据添加到模板以生成文档的东西,就像在 Active Server Pages 或 JavaServerPages 或 PHP 中使用的引擎 - 甚至是 shell/bash 脚本、ant 或 Word 套用信函)。

一些例子:

${yourVariableHere}
<TMPL_LOOP NAME=EMPLOYEE_INFO>
<%= toStringOrBlank( "expanded inline data " + 1 ) %>
<% Response.Write "Hello World!" %>
<?php echo "Hello World!\n"; ?>

我想使用熟悉的语法,这样用户上手起来又快又容易,所以我正在寻找最常用和最容易识别的模板语法(不一定是“最好的”一个 - 只是标准的一个)。

我的目标受众不仅仅是网络开发人员,所以我想我不应该偏向他们熟悉的内容(尽管大多数模板似乎都在使用)。

这种语法的最佳示例是什么?

【问题讨论】:

    标签: html xml templates


    【解决方案1】:

    如果您在 JVM 上运行,请查看 Groovy 对模板的支持。它使用 EL 语法和上面的 ${} 来替换映射中的变量,使用 来替换可执行代码块。也许您可以直接使用它,而不必自己动手,或者,如果没有,只需采用一些原则。

    http://groovy.codehaus.org/Groovy+Templates

    【讨论】:

      【解决方案2】:

      ${yourVariableHere} 变体非常常见:Apache velocity、Freemarker、UNIX Shell,还使用了 int Apache Ant 构建文件和 Springframework bean 配置。它也更容易解析(不绑定到标签层次结构,不需要使用 dom 解析器),也可以处理旧样式的 HTML 和未标记的文本。

      【讨论】:

        【解决方案3】:

        我相信最常用的模板语法是 Smarty (http://www.smarty.net/)。 我曾经看到一个使用相同语法的 JS 模板引擎。

        <b>Hello Smarty</b>
        My name is {$user.fullName} and i'm {$user.age} years old.
        

        简单干净...

        【讨论】:

          猜你喜欢
          • 2012-10-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-12-15
          • 2019-10-31
          • 2012-12-26
          • 1970-01-01
          相关资源
          最近更新 更多