我可以在StringTemplate中使用字符串分隔符吗?如果没有,什么是好的模板引擎?

时间:2011-11-27 16:07:00

标签: java template-engine stringtemplate

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

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

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

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

reading this post之后,我尝试使用StringTemplate,但我不确定它是否支持长度超过一个字符的分隔符(ST上的构造函数似乎接受了字符分隔符而不是字符串)。

StringTemplates是否支持多字符分隔符?如果没有,那么另一个简单模板引擎的推荐是否与我上面描述的模板语法一起使用?

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

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

new ST(“Hello«prop»”,“«','»')。add(”prop“,”xxxxxx“)。render()