velocity #parse抽象重用部分组件

在某些时候,处于重用的目的,我们会选择将可以重用的部分内容剥离在单独的模板文件中,比如对于查询页面的表格部分,因为现在很多的条件可能是通过弹出查询框的方式来实现,而作为普通页面的时候,他们会有更多的功能,所以部分重复,而又不合理整个重用。这部分内容又是需要在运行时解析的。除了重用的目的外,对于系统本身设计而言,你会发现其实这个设计变得更加的灵活和稳健,很多原先限制很死的实现,通过抽象,变得更加的模块化。

这个时候我们就需要借助于velocity的#parse来引用这个segment。

#parse 
1.可以引入包含VTL的模板 
2.任何模板文件只能位于TEMPLATE_ROOT目录下 
一般默认情况下,TEMPLATE_ROOT就是项目的根目录,举个例子: 
#parse("./xxx_seg.vm") 此处xxx_seg.vm可以包含velocity代码。 

它和#include的最大差别就是#include就是静态包含,个人感觉这个意义不是特别大。

#include 
1.可包含本地文件(不包含VTL) 
2.文件内容不经过template engine处理 
3.出于安全性的考虑,此文件只能位于TEMPLATE_ROOT目录下 

原文地址:https://www.cnblogs.com/zhjh256/p/5935755.html