我正在寻找一个Java模板引擎,可以禁止在模板中执行代码,只允许使用标签。
在完美的世界中,我会寻找类似于Jinja2(或Django模板引擎)的等价物。 基于Django,我会自己创建模板标签,但用户不能创建模板标签(通过执行代码)。
我将在Play!框架中实现它。
谢谢您的帮助!
我正在寻找一个Java模板引擎,可以禁止在模板中执行代码,只允许使用标签。
在完美的世界中,我会寻找类似于Jinja2(或Django模板引擎)的等价物。 基于Django,我会自己创建模板标签,但用户不能创建模板标签(通过执行代码)。
我将在Play!框架中实现它。
谢谢您的帮助!
StringTemplate 是您要寻找的。
它的独特特点是严格执行模型-视图分离,与其他引擎不同。严格的分离使网站和代码生成器更加灵活和可维护;它还提供了对恶意模板作者的出色防御。
从您的需求来看,似乎您只需要一个模板引擎,它不允许类似于JSP脚本(在<%和%>之间)的任何内容,并且仅基于标签和/或属性...
如果是这样,我想建议您使用Thymeleaf http://www.thymeleaf.org(这里是与JSP的比较),我是它的作者。但如果我没错的话,这些要求也可以通过Velocity http://velocity.apache.org 来实现,所以由您来选择!