这是我参与11月更文挑战的第15天,活动详情查看:11月更文挑战
Velocity是一个基于java的模板引擎,它允许任何人仅仅使用简单的模板语言来引用由java代码定义的对象。
1 Velocity的简介
Velocity模板引擎, 作为一款成熟的基于java的模板引擎,能够帮我们实现页面静态化,同时它将Java代码与网页分开,将模板和填入数据整合,生成我们需要的页面.
1 基本语法
1 关键字
Velocity模板中的关键字, 都是以#开头表示的
- #set 设置一个变量
- #if 条件分支判断
- #else 另一个条件分支
- #end 语句结束
- #foreach 循环语句
2 变量
Velocity模板中的变量, 都是以$开头表示的
如: $user
用户 $password
用户密码
{}变量
对于明确的Velocity变量, 可以使用{}包括起来, 可以在页面上展示如下效果:
${user}Name
, 此时页面上可以表示为$someoneName
的效果.
!变量
如上述内容,Velocity模板中如果变量不存在, 在页面会显示$user
, 这种形式影响展示的效果. 可以使用$!user
表示.
$!user
表示, 存在则展示,不存在则为空白
1 | vm复制代码## 定义一个user变量为李白, password变量为123456 |
3 转义字符和逻辑操作符
Velocity模板中转义字符是 \
1 | vm复制代码#set{$user = "李白"} |
&& 且
|| 或
! 取反
4 循环
Velocity模板中list集合循环语法
循环遍历,可以得到每个元素,每个元素的序号,以及总的集合长度
1 | vm复制代码#foreach ( $element in $list) |
map集合循环语法
1 | vm复制代码#foreach ($entry in $map.entrySet()) |
5 条件
Velocity模板中条件语法if-ifelse-else结构
1 | vm复制代码#if (condition1) |
常用的条件语句是if-else结构
1 | vm复制代码#if (condition1) |
#break
表示跳出循环
1 | vm复制代码#if (condition1) |
#stop
表示终止指令,终止模板解析
1 | vm复制代码#if (condition1) |
6 注释
单行注释 ##
1 | vm复制代码## 定义一个user变量为李白 |
多行注释 #* *#
1 | vm复制代码#* |
文档注释 #** *#
1 | vm复制代码 #** |
7 引入资源
#include
表示引入外部资源,引入的资源不被引擎所解析
1 | vm复制代码#include( "one.gif","two.txt","three.htm" ) |
#parse
用于导入脚本, 引入的资源会被引擎所解析
1 | vm复制代码## a.vm文件 |
2 Velocity的使用
Velocity常用的案例和工具类
1 | java复制代码public class VelocityUtils { |
其中index.html.vm模板文件在D:盘work文件夹中
1 | html复制代码<table cellspacing="0" cellpadding="5" width="20%" > |
生成的index.html文件
1 | html复制代码<table cellspacing="0" cellpadding="5" width="20%" > |
从上面测试的案例,可知,name参数有了, list集合参数有. 对于一些日常常规的循环条件判断等, Velocity模板引擎非常好用.
参考资料:
yanglinwei.blog.csdn.net/article/det…
本文转载自: 掘金