我正在编写模板引擎(将某些内容添加到模板以生成文档,如Active Server Pages或JavaServerPages或PHP中使用的文档 - 甚至是shell / bash脚本,蚂蚁或Word表单字母)。
一些例子:
${yourVariableHere}
<TMPL_LOOP NAME=EMPLOYEE_INFO>
<%= toStringOrBlank( "expanded inline data " + 1 ) %>
<% Response.Write "Hello World!" %>
<?php echo "Hello World!\n"; ?>
我想使用熟悉的语法,因此用户可以快速轻松地开始使用,因此我正在寻找最常用且最易识别的模板语法(不一定是“最佳”)一个 - 只是标准的一个。)
我的目标受众不仅仅是网络开发人员,所以我想我不应该偏向于他们熟悉的东西(尽管大多数模板似乎都在使用)。
这种语法最好的例子是什么?
答案 0 :(得分:1)
我相信最常用的模板语法是Smarty(http://www.smarty.net/)。 我曾经看过一个使用相同语法的JS模板引擎。
<b>Hello Smarty</b>
My name is {$user.fullName} and i'm {$user.age} years old.
简单干净......
答案 1 :(得分:1)
${yourVariableHere}
变体很常见:Apache velocity,Freemarker,UNIX Shell,也用于Apache Ant构建文件和Springframework bean配置。它也更容易解析(不需要标记hierarchie,不需要使用dom解析器),也可以使用旧式HTML和非标记文本。
答案 2 :(得分:1)
如果您在JVM上运行,请查看Groovy对模板的支持。它使用带有$ {}的EL语法,用于从地图中替换变量,&lt; %%&gt;用于可执行代码块。也许你可以使用它而不是自己动手,或者如果不是,只是采用一些原则。