我想问一下有关使用Velocity模板引擎的几个问题,以确保我使用的是correclty。
我想从模板中访问数据模型(模型的深层对象图)。我真的希望,似乎也是最干净的方式,为每个模型都有一个模板: PageModel - > page.vm | --SectionModel - > section.vm
page.vm是否适合调用velocity引擎的自定义包装器并要求它获取section.vm的呈现字符串表示形式。原因是我希望section.vm 不共享为page.vm设置的上下文变量。
这个想法是每个模板都可以通过$ model上下文变量访问它的模型。每个子模板都不包含在#parse指令中,而是呈现在主机模板中(子模板也使用自己的$ model属性设置为子模型)。
我希望我的解释是有道理的。这种设计有任何性能缺陷吗?我担心的是,不断创建Template对象并调用merge方法来渲染它们可能会变成一个性能损失。
感谢您的建议。