用户和开发人员参考文档
http://velocity.apache.org/engine/releases/velocity-1.7/developer-guide.html
注释
1.行级注释##
2.多行注释#* *#
变量定义
使用$开头的字符串是变量定义,例如$var1, $var2,
赋值
使用#set为变量赋值,例如
#set($var1 = 100) #set($str="foobar") #set($var2 = $var1) $var2 ##显示100
1. #set指令需要使用小括号将赋值语句括起来
2. #set语句后面不要加;,否则;将解析到页面上
3. #set是行级指令,不需要使用#end
{}含义
假如有一个Velocity变量,例如$abc, 那么$abcdef这种串如何表达它的含义,即变量$abc的值连接def,默认Velocity会认为$abcdef是一个变量,此时需要使用${abc}def来表达它的含义
算术运算
1. 运算符: + - * / %
2. 使用#set语句执行算术运算操作
#set($a = 5) #set($b = 4) #set($c = 3) #set($d = 2) #set($e = 7) #set($a= $a+$b*$c/$d - 6%$e) ##5+4*3/2-6%7=5 "Result:" $a
关系运算
> >= == <= <
逻辑运算
&& || !
条件判断
#set($var1 = 20) #if($va1 >= 100) $var1 is greater than or equals 100 #elseif($va1 >= 50) $var1 is betwen [50, 100) #elseif($var1 >= 0) $var1 is between [0,50) #else $var1 is negative #end
1. #if是条件判断语句,#if/#else, #if/#elseif/#else 是if/else条件判断语句
2. if/elseif使用括号括起来
3. #if是块级指令,因此使用#end显示指定块级指令的结束
循环语句
#set($array = [1, "Two", 3,"Four"]) #foreach($i in $array) <li> The $velocityCount element in the array is $i </li> #end
1. 数组定义类似于Javascript,用中括号[]括起来,以逗号分隔
2. $velocityCount是Velocity内置属性,用于指示当前循环的次数,从1开始计算,即第一次循环,它的值是1
3. #foreach in语句用于表示循环,
4. #foreach语句也是块级语句,需要使用#end来指明语句的结束
$!的含义
$!var1的含义是如果变量var1存在,则取其值,否则取空,即不显示,它等价于如下语句
#set($var1 = 100) $!var2 ##show nothing $!var1 ##show 100 #if($var1) $var1 #end #if($var2) #var2 #end
#include指令
#include可以在vm中指定静态文件,这跟JSP的include标签的含义一样,例如
#include("staticHTML.html"),这个staticHTML.html
#include指令默认从classpath开始寻找文件??目前不确定!
Velocity资源加载器
在#include指令一节说到了include的文件到什么位置进行加载,这个位置与velocity资源加载的配置有关,常用的加载位置包括webapp资源加载器,文件路径资源加载器,还有类路径记载器,在velocity.properties中,添加如下的配置项表示webapp资源加载器,项目对于web项目的根开始算起
resource.loader=webapp webapp.resource.loader.class=org.apache.velocity.tools.view.WebappResourceLoader #relative to the web context, under the same parent directory with WEB-INF #that is, vm and WEB-INF are sibling folders webapp.resource.loader.path=/vm
其中的webapp是资源加载器的名称,/vm是web应用的根下面的vm目录,也就是说,vm目录和WEB-INF目录是平级的
相关推荐
Velocity入门教程,语法,Velocity布局,Spring框架集成Velocity
本人写的velocity教程,包括模板引擎基本使用方法,velocity语法,servlet+velocity例子,spring mvc+velocity例子
Velocity入门教程实例,包括velocity介绍,语法详解,以及具体的示例!
本课程从velocity engine也就是velocity引擎开始, 先讲解velocity的基本使用以及基础语法 , 然后再讲解velocity 的进阶内容velocity Tools , 以及velocity作为web项目的视图改如何使用 , 每一部分都会有一个综合案例...
文档是velocity基本知识,语法运用,宏定义等,适合新手入门
从Velocity的基础说起,讲到了其语法、然后结合其他流行技术进行延伸讲解,希望对你有帮助——资料仅有前14章,但已足够学习了
velocity 基础 入门教程 基本语法
本资料详解了velocity的语法,以及入门例子详解。是刚入门学习velocity的很好的资料,欢迎大家下载使用。
快速入门一些示例已为您准备好: $ git clone https://github.com/fool2fish/velocity.git$ cd examples尝试一个简单的命令: $ cd hello$ velocity 输出: Hello, velocity!更多例子方法查询查看依赖从模板中提取...
自动添加了两种简单的测试,一种是客户端,另一种是服务器端。 -jasmine包在Meteor上下文中运行,并支持使用Jasmine语法运行集成的客户端测试。 服务器端上下文测试即将推出。 -jasmine-unit程序包独立于Meteor上...
9.N语法top语法 26 10.获取Stack Context中的信息 26 11.总结$ # %的区别 27 12.总结OGNL[重点] 27 五、拦截器 28 1.概述strust2中的拦截器 28 2.自定义拦截器 28 方式一,实现Interceptor接口。 28 方式二、继承...
仿照知乎做的一个Java web项目,是一个sns+资讯的web应用。使用SpringBoot+Mybatis+velocity开发。数据库使用了redis和mysql,同时加入了异步消息等进阶功能,同时使用python爬虫进行数据填充。 内容包括: 开发工具...
内容包括: 开发工具和Java语言 Spring入门,模板语法和渲染 数据库交互iBatis集成 用户注册登录管理 资讯发布,图片上传,资讯首页 评论中心,站内信 Redis入门以及Redis实现赞踩功能 异步设计和站内邮件通知系统 ...
这是一个vue入门到项目实战开发的源代码集,包括以下代码(单独的文件夹下):我的博客 Vue基础精讲 你好,世界待办事项清单vue1-实例vue2-实例的生命周期函数vue3-模板语法vue4-计算属性,方法和侦听器vue5-计算...
Spring入门,模板语法和渲染 进行Spring语言的介绍和讲解,模板语法和渲染(注意springboot1.5开始不支持velocity模板引擎,可以用Thymeleaf或者Freemarker代替) 数据库交互iBatis集成 主要是进行数据库的创建以及...
8.3.1 VelocityResult,也叫做velocity 189 8.3.2 FreemarkerResult,也叫做freemarker 191 8.4 全局结果 192 8.5 小结 193 第四部分 完善应用程序 第9章 集成Spring和Hibernate/JPA 196 9.1 为什么在Struts 2中...
第一章 模板开发入门 ............................................................................................... 9 1.1 简介 ............................................................................
第一章 模板开发入门 ............................................................................................. 10 1.1 简介 .............................................................................