2011-11-27 123 views
3

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

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

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

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

reading this post后,我试图用StringTemplate,但我不知道它是否支持是超过一个字符长(上ST构造似乎接受字符分隔符,而不是字符串)分隔符。

不StringTemplates支持多字符分隔符?如果不是,那么使用上述模板语法的另一个简单模板引擎的任何建议?

+0

不知道有关多字符StringTemplate的,但是使用' <>'非HTML/XML中的对,而HTML/XML中的'$'分隔符在我的经验中效果很好。 – I82Much

+0

@ I82Much javascript中的'a ripper234

+0

我其实一直比较喜欢'$'符号,因为我发现它很少与我正在使用的语言中的语法发生碰撞。 – I82Much

回答

2

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

+2

你有没有机会给自己的代码片段实现上面的模板,用自定义分隔符? – ripper234

2

你可以使用未在您的模板中使用Unicode字符。

新的ST( “你好«道具»”,“« ''» ')。新增( “托”, “XXXXXX”)。渲染()

相关问题