简介(待整理)
最近因为业务需要,简单了解下velocity,它是一种模板引擎。联系go语言中也有类似的组件,因此好好学习下。
模板引擎分前端后端
模板引擎的实现方式有很多,最简单的是“置换型”模板引擎,这类模板引擎只是将指定模板内容(字符串)中的特定标记(子字符串)替换一下便生成了最终需要的业务数据(比如网页)。 置换型模板引擎实现简单,但其效率低下,无法满足高负载的应用需求(比如有海量访问的网站),因此还出现了“解释型”模板引擎和“编译型”模板引擎等。
模板引擎可以让程序实现界面与数据分离,业务代码与逻辑代码的分离。
比如一个web页面,静态html页面中内嵌了一些个性化内容,每次用户请求,都要全新生成一个html页面。那么这个html generator的输出是一个html页面,输入呢?假定变化的部分保存在一个map中,那么map + template file + template engine ==> html