【实习之velocity】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

Velocity是一个基于Java的模板引擎,可通过指定语法获取在java对象的数据,填充到模板中,从而实现代码与界面的分离!


提示:以下是本篇文章正文内容,下面案例可供参考

一、图示

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

二、应用场景

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]
]?)},正规写法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值