Velocity是一个基于java的模板引擎。它允许任何人使用简单但功能强大的模板语言引用Java代码中定义的对象。
当Velocity用于web开发时,web设计人员可以与Java程序员并行工作,根据模型-视图-控制器(MVC)模型开发web站点,这意味着web页面设计人员可以只专注于创建看起来不错的站点,而程序员可以只专注于编写一流的代码。Velocity将Java代码从web页面中分离出来,使web站点在其生命周期内更具可维护性,并为Java服务器页面(jsp)或PHP提供了一个可行的替代方案。
Velocity的功能远远超出了web的范围;例如,它可以用来从模板生成SQL、PostScript和XML。它既可以作为生成源代码和报告的独立实用程序使用,也可以作为其他系统的集成组件使用。例如,Velocity为各种web框架提供模板服务,使它们能够使用视图引擎,以便根据真正的MVC模型开发web应用程序。
- Web 应用:开发者在不使用 JSP 的情况下,可以用 Velocity 让 HTML 具有动态内容的特性。
- 源代码生成:Velocity 可以被用来生成 Java 代码、SQL 或者 PostScript。
- 自动 Email:很多软件的用户注册、密码提醒或者报表都是使用 Velocity 来自动生成的。
- 转换 xml。
在 Velocity 中所有的关键字都是以#开头的,而所有的变量则是以$开头。Velocity 的语法类似于 JSP 中的 JSTL,甚至可以定义类似于函数的宏,下面来看看具体的语法规则。
和我们所熟知的其他编程语言一样,Velocity 也可以在模板文件中有变量的概念。
等号后面的字符串 Velocity 引擎将重新解析,例如出现以$开始的字符串时,将做变量的替换。
上面的这个等式将会给 $hello 赋值为“hello velocity”
在模板文件中使用$name 或者 ${name} 来使用定义的变量。推荐使用 name 和 $names 的两个变量,如果不选用大括号的话,引擎就没有办法正确识别 $names 这个变量。
在 Velocity 中循环语句的语法结构如下:
Velocity 引擎会将 list 中的值循环赋给 element 变量,同时会创建一个 $velocityCount 的变量作为计数,从 1 开始,每次循环都会加 1
条件语句的语法如下:
Velocity 引擎提供了 AND、OR 和 NOT 操作符,分别对应&&、||和! 例如:
输出的结果为 hello velocity
#parse 和 #include 指令的功能都是在外部引用文件,而两者的区别是:#parse 会将引用的内容当成类似于源码文件,会将内容在引入的地方进行解析,#include 是将引入文件当成资源文件,会将引入内容原封不动地以文本输出。分别看以下例子:
输出结果为:velocity
输出结果为:#set($name =“velocity”)
- Singleton Model
使用 org.apache.velocity.app.Velocity类
- Separate Instance
使用org.apache.velocity.app.VelocityEngine,如下:
还有另外一种方式来配置:
官方文档:http://velocity.apache.org/
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/java-jiao-cheng/12837.html