Velocity模版引擎使用总结
Velocity是一个基于java的模板引擎。它允许任何人仅仅简单的使用模板语言来引用由java代码定义的对象。
当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只 关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提 供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。
Velocity基本语法和使用:
1. "#"用来标识Velocity的脚本语句。
如:#set、#if 、#else、#foreach、#end、#include、#parse、#macro等。
2. "$"用来标识一个对象(或理解为PHP的变量)
如:$i、$user等。
3. "{}"用来明确标识Velocity变量,和普通模版字符串区分开来;
如:${user}‘s age 可以显示为 riqi's age。
4. "!"强制把不存在的变量显示为空白。
如:$!msg,假如msg对象为空,则模版中不显示该变量;如果缺少"!",则显示$msg字符串,这是我们不想要的结果。
5. 变量的定义和赋值。不需要指定变量的类型,类似弱类型语言PHP可以随意指定,在赋值后自动判定变量的类型,如:
#set($username="riqi") ##设置用户名
#set($age=26) ##设置年龄
6. 数组循环:
#foreach ($user in $users)
$!{user} $!{velocityCount} <br />
#end
$users可以是Vector、Hashtable或者Array,Velocity提供了得到循环次数的值:$velocityCount。
7. 语句注释:
单行注释:## 单行注释代码
多行注释:#* 多行注释代码 *#
8. 模版支持关系和逻辑操作符运算,如:&&、||、! 等
9. 宏定义:#macro ,类似PHP声明一个函数,其中有函数名称和参数列表。先定义再调用。
10. 终止命令:#stop,类似PHP的exit(); 停止执行模板引擎并返回。
11. 引入公共模版文件:#include与#parse,它们的差异是:
(1) 与#include不同的是,#parse只能指定单个对象。而#include可以有多个
如果您需要引入多个文件,可以用逗号分隔就行:
#include ("one.gif", "two.txt", "three.htm" )
在括号内可以是文件名,但是更多的时候是使用变量的:
#include ( “greetings.txt”, $seasonalstock )
(2) #include被引入文件的内容将不会通过模板引擎解析;
而#parse引入的文件内容Velocity将解析其中的velocity语法并移交给模板,意思就是说相当与把引入的文件copy到文件中。
#parse是可以递归调用的。
12. 转义字符'\'.
这个和其它语言没有差异,假如:$user="riqi"; 那么,\$user 表示输出 $user字符串,\\$user表示输出\riqi。
13. Velocity内置了一部分java对象 如:$request、$response、$session等,在vm模版里可以直接调用。
------------------------------------------------------------------------------------
细节整理:
1. Velocity判断某个变量是否为空的方式:
#if($!变量名)……#else……#end
或者:
#if("" == $!varName)……#else……#end
Velocity模版引擎使用总结的更多相关文章
- Spring整合Velocity模版引擎
1. 首先通过pom.xml自动加载velocity扩展包到工程: <dependency> <groupId>velocity</groupId> <art ...
- framMaker、Velocity模版引擎
1.一种模板文件,可以自动加载数据到模板里面展现. 类似:Velocity 2.使用场景 1.web开发模式 WEB-INF/view/vm 在互联网公司的开发都是基于vm的开发,其次就是使用JS的框 ...
- Java模版引擎:jsp、freemarker、velocity区别
在java领域,表现层技术主要有三种:jsp.freemarker.velocity. jsp是大家最熟悉的技术优点:1.功能强大,可以写java代码2.支持jsp标签(jsp tag)3.支持表达式 ...
- Velocity模板引擎入门
类似于PHP中的Smarty,Velocity是一个基于Java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java代 ...
- 模版引擎(NVelocity)开发
在net中用模版开发,在handler中用到了大量的html代码.为解决这个问题,我可以采用模版引擎(NVelocity)进行开发.1.首先需要将NVelocity.dll文件放入项目,其次引用.2. ...
- Spring Boot 集成 thymeleaf 模版引擎
Spring Boot 建议使用 HTML 来完成动态页面.Spring Boot 提供了大量的模版引擎,包括 Thymeleaf.FreeMarker.Velocity等. Spring Boot ...
- Velocity模板引擎介绍
整理下Velocity使用方法,整理比较详细用例 1 Velocity基础语法 1.1 用户和开发人员参考文档 http://velocity.apache.org/engine/releases/v ...
- Java安全之Velocity模版注入
Java安全之Velocity模版注入 Apache Velocity Apache Velocity是一个基于Java的模板引擎,它提供了一个模板语言去引用由Java代码定义的对象.它允许web 页 ...
- 构建自己的PHP框架--构建模版引擎(1)
前段时间太忙,导致好久都没有更新博客了,今天抽出点时间来写一篇. 其实这个系列的博客很久没有更新了,之前想好好规划一下,再继续写,然后就放下了,今天再捡起来继续更新. 今天我们来说一下,如何构建自己的 ...
随机推荐
- Excel 将换行符替换为空
Step1:按快捷键Ctrl+H,打开"查找和替换"对话框: Step2:选择"查找内容"后的文本框,按住Alt键,在数字键盘中输入&quo ...
- POI动态生成word2007加强版
先看效果图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjAzODkxNzU=/font/5a6L5L2T/fontsize/400/fill ...
- 【DB2】经典SQL写法
1.环境准备 CREATE TABLE DataInfo( ID_1 ), ID_2 ) ) INSERT INTO DataInfo VALUES('A','Oracle'); INSERT INT ...
- Spring 配置dataSource和sessionFactory
记得导入dbcp和pool的jar包. <?xml version="1.0" encoding="UTF-8"?> <beans xml ...
- windowns 查看端口占用
开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选&qu ...
- 开源管理系统OSSIM设置 语言为中文简体
最近研究OSSIM系统,OSSIM的安装是做好的ISO,操作系统选择的是CentOS 64Bit系统.我使用的OSSIM 4.11 的ISO安装,虽然系统说明支持中文,实际上,只是台湾的繁体中文而以. ...
- dos指令 批处理文件
windows下开发的时候难免写一些脚本,脚本的调用又难以避免的写批处理文件,也就是(.bat)文件!这个文件是什么呢?其实就是以下的这些dos命令.以下是从网上摘抄的,留以记录,待以后需要时查阅.也 ...
- linux学习之缓存机制
linux中的缓存机制 在Linux系统中,为了提高文件系统性能,内核利用一部分物理内存分配出缓冲区,用于缓存系统操作和数据文件,当内核收到读写的请求时,内核先去缓存区找是否有请求的数据,有就直接返回 ...
- jquery的param()
jQuery ajax - param() 方法 jQuery Ajax 参考手册 实例 序列化一个 key/value 对象: var params = { width:1900, height:1 ...
- char *strrchr使用
/* 这个函数用到的少 这次用到记录一下 */ /* 函数原型: char *strrchr(const char *str, char c) * 功能: 找到字符c在字符串str中最后出现的位置,返 ...