4

我需要一个简单的模板引擎,它只替换变量名(我不需要其他功能),并且可以配置为使用字符串而不是字符的分隔符。例如

new Template("Hello {{topic}}")
  .add("topic", "world")
  .render()

应该返回“Hello world”(java代码可以改变,我更关心模板语法)

我想要多字符分隔符的原因是我有几个可能包含各种字符的模板,并且想确保模板化文档(html、css、js)的本地语言不会与模板引擎冲突.

阅读这篇文章后,我尝试使用StringTemplate,但我不确定它是否支持超过一个字符的分隔符(构造函数ST似乎接受字符分隔符而不是字符串)。

StringTemplates 是否支持多字符分隔符?如果没有,是否有其他与我上面描述的模板语法一起使用的简单模板引擎的建议?

4

2 回答 2

2

我认为 Apache 的 Velocity 是目前最好的模板引擎。我们用它来做很多事情:生成动态 HTML(而不是 JSP),生成 XML 而不是 XSLT,等等。

于 2011-11-27T16:09:13.283 回答
2

您可以使用模板中未使用的 unicode 字符。

new ST("Hello «prop»", '«', '»').add("prop", "xxxxxx").render()

于 2012-06-20T19:22:55.523 回答