1.是什么
velocity是一个基于java的模板引擎,提供了一个Context容器,在java代码中我们可以往容器里存值,然后在VM文件中使用特定的语法获取,这是velocity的基本用法。相对于jsp而言,velocity对前后端的分离更加彻底;VM文件中不允许存在java代码。常用作前后端分离的mvc展现层。
2.通过main方法来传值
首先在代码中初始了velocityEngine这个模板引擎,指定ClasspathResourceLoader来加载vm文件。然后就可以在velocityContext这个容器中存放对象了。在VM文件中我们可以取出这些变量,从而进行模板输出。
3.一个简单的vm文件
4.velocity的基本语法
1)变量
使用$符声明变量,可以声明变量,可以对变量进行赋值,还可以使用$取出在velocityContext容器中存放的值。
有时,常写作$!{变量},作用是,当变量不存在时,可以将不存在的变量变成空白输出。
2)宏
在velocity中也有宏的概念,可以将其作为函数来理解,使用#macro来声明宏
3)parse和include指令
通过这两条指令来引入外部vm文件,但是二者有区别:include指令会将外部的文件原样输出,而parse指令会先对其进行解析再输出
5.在web项目中使用velocity
velocity只是一个模板引擎,在web项目中使用velocity还得添加一个http框架来处理请求和转发。
通过继承或者直接使用VelocityViewServlet,可以在管理的vm文件中获得request、session及application对象,也可以直接获得在这几个域对象中保存的值