Velocity入门指南

  1. 云栖社区>
  2. 博客>
  3. 正文

Velocity入门指南

fibojie 2016-03-23 18:34:00 浏览553
展开阅读全文

Velocity简介

Velocity主要目的简化WEB动态页面的开发,能够更加清晰地把VIEW和其他MVC组件区别开。Velocity不但可以用于开发WEB页面,同时也可以用于开发独立运行的应用程序,比如SQL或XML。可以直接支持Turbine Web 应用框架,以及Servlets、Texan等。View和Model通过Context来进行数据关联,将对应的模板渲染成HTML页面。

使用指南

Velocity模板引擎,通过上下文来处理Model和View中的数据信息,模板引擎通过VTL语法来渲染HTML页面。和基本的语言一样,VTL语法中少不了变量和语法两方面的内容。模板文件和通常的html网页没有太多的区别,基本上是在HTML嵌入VTL语法。

注释以及转义

Velocity中代码注释使用##,只能单行注释。

例如:
## 这是一行注释

Velocity中的转义字符”,对于代码中输出指令语句等使用

例如:
"#include("test.txt")

引用类型

引用类型包括了三种基本类型,变量、属性和方法。
变量都是访JAVA访Velocityjava.lang.Object使使Java使[]getcontext使!符号时,velocity引擎默认不对空值进行处理。

指令

stop指令

通常用于程序调试,使用#stop指令,告诉模板引擎后面的模板不再执行。

例如:stop.vm
## starting
this is before
## stop processing
#stop
this will not be processed
## end

include指令

include指令用于引入其他的文件,引入的文件将会被当做静态文件来处理。

例如:include.vm
#include("test1.txt")
#include("test2.vm")

parse指令

parse指令和include指令类似,也是用于引入其他的外部文件。不同的是parse引入的文件通常是动态文件,并且parse指令中允许嵌套。

set赋值指令

set指令可以用于创建一个新的实例,或者更新一个已经存在的实例。set指令中也支持基本的数据运算

例如:
#set($username="liujie")
$username
#set($username="new user")
$username
#set($age=100 / 4)

条件判断指令

支持的基本语法#if/#else/#elseif/#end,判断条件也支持<, >, <=, >=, !=, ==,这和Java标准语法是一致的。

foreach循环指令

和java中的语法相同,用于循环执行

例如:
#foreach($item in [1..5])
    $item
#end
#foreach($item in ["one", "two", "three“, "four"])
    $item
#end

该语法中支持数组类型的对象,对应Java中的对象有Collection, Map, Iterator,Enumeration,Listing(如LinkedList)类型。

macro宏定义

提供了一个构建模板代码复用的机制,类似于Java中的函数。

例如:
#macro( sayHi $username)
Hello $username
#end
#sayHi("liujie")

内置变量

sessioinrequest、$response

日志

网友评论

登录后评论
0/500
评论
fibojie
+ 关注