提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、图示
- 二、应用场景
- 1.Web应用程序:作为为应用程序的视图,显示数据
- 2.源代码生成:Velocity可用于基于模板生成java源代码
- 3.自动电子邮件:网站注册,认证等的电子邮件模板
- 4.网页静态化:基于Velocity模板,生成静态网页
- 三、velocity组成结构
- Velocity与JSP区别
- 四、Velocity 创建步骤
- 五、Velocity的基础语法
- 1.VTL介绍
前言
Velocity是一个基于Java的模板引擎,可通过指定语法获取在java对象的数据,填充到模板中,从而实现代码与界面的分离!
提示:以下是本篇文章正文内容,下面案例可供参考
一、图示
二、应用场景
1.Web应用程序:作为为应用程序的视图,显示数据
2.源代码生成:Velocity可用于基于模板生成java源代码
3.自动电子邮件:网站注册,认证等的电子邮件模板
4.网页静态化:基于Velocity模板,生成静态网页
三、velocity组成结构
1.velocity主要分为app. context.runtime和一些辅助util几个部分。
app模块:主要封装了一些接口,暴露给使用者使用。主要有两个类,分别是Velocity(单例)和VelocityEngine。- Context模块:主要封装了模板渲染需要的变量
Runtime模块:整个Velocity的核心模块,Runtime模块会将加载的模板解析成语法树,Velocityi调用mergeTemplate方法时会渲染整棵树。并输出最终的渲染结果。
Runtimelnstance类为整个Velocity渲染提供了一个单例模式,拿到了这个实例就可以完成渲染过程了。
Velocity与JSP区别
JSP 与 velocity 都是模板容器 ,但是jsp可以书写java HTML 与自己的jsp语法 但是没有实现数据与模板的分离遇到大型项目时导致 难以维护 Velocity是数据与模板的分离
四、Velocity 创建步骤
在这个步骤中其实也就 模板、路径、输出内容会变化
五、Velocity的基础语法
1.VTL介绍
velocity Template Language (VTL),是Velocity 中提供的一种模版语言,旨在提供最简单和最干净的方法来将动态内容合并到网页中。简单来说VTL可以将程序中的动态数展示到网页中
VTL的语句分为4大类:注释,非解析内容,引用和指令。
** 注释**
语法:
## 行注释
#* 块注释*#
#** 文档注释*#
** 非解析内容 ** 语法: #[[ ]]#
** 引用**
1变量引用:
引用语句就是对引擎上下文对象中的属性进行操作。语法方面分为常规语法( 属 性 ) 和 正 规 语 法 ( 属性)和正规语法( 属性)和正规语法({属性})。语法
变 量 名 , 若 上 下 文 中 没 有 对 应 的 变 量 , 则 输 出 字 符 串 " 变量名,若上下文中没有对应的变量,则输出字符串" 变量名,若上下文中没有对应的变量,则输出字符串"变量名"
变 量 名 , 若 上 下 文 中 没 有 对 应 的 变 量 , 则 输 出 字 符 串 " {变量名},若上下文中没有对应的变量,则输出字符串" 变量名,若上下文中没有对应的变量,则输出字符串"{变量名}"
$!变量名,若上下文中没有对应的变量,则输出空字符串""
$! {变量名},若上下文中没有对应的变量,则输出空字符串""
2属性引用:
#{对象.属性}
3.方法引用:
$变量名.方法([入参1[,入参2]]?),常规写法
${变量名.方法([入参1[,入参2]]?)},正规写法
$!变量名.方法([入参1[,入参2]]?),常规写法
$!{变量名.方法([入参1[,入参2]]?)},正规写法