velocity浅析

1.什么是velocity

velocity是一种基于java的模版引擎(template engine)
VTL提供一种简单、容易的方法将动态内容合并到web页面。

2.基本语法

2.1注释

  • 单行注释,如
## This is a comment
  • 多行注释,如
#*
This is a multiline comment.
hahaha
*#

2.2 变量

  • 定义变量,如
$username or ${username} or $!username
  • 访问变量属性
## 调用user对象的getAddress()方法
$user.Address or ${user.Address}
  • 命令调用
$user.getAddress() or ${user.getAddress()}

2.3 #set 指令

#set($monkey=$bill)
#set($monkey.Friend='Lucy')
#set($monkey.Name=$bill.Name)
#set($monkey.Name=$bill.getName())
#set($monkey.Number=123)
#set($monkey.Number=123)
#set($monkey.Numbers=[1..3])
#set($monkey.Say=["Hello!",$good,"Money"])

2.4 判断指令

  • #if #elseif #else #end
#if(condition)
    statement
#elseif(condition)
    statement
#else
    statement
#end

2.5 循环指令

  • #foreach # end
#foreach($ref in arg)
    statement
#end

2.6 #include 指令

## 在模板中引入本地文件
#include("file1.txt","file2.txt")
#include($namelist,$companylist)

2.7 #parse 指令

## 在模板中引用其他模板,一次只能引入一个
#parse("basefunc.vm")

2.8 #stop 指令

  • 方便调试使用

2.9 #macro 指令

  • 定义一段可重用的VTL template
## 使用时 #vmname($arg1 $arg2 $arg3...)
#macro(vmname $arg1 $arg2 $arg3...)
    code...
#end

3. 环境配置

3.1 需要的jar包

commons-beanutils-1.7.0.jar 对bean操作的一些类
commons-collections-3.2.jar 扩展类java.util.Map的一些集合
commons-digester-1.8.jar 用于处理xml转换到对象的工具类
commons-lang-2.2.jar 扩展了java.lang类
commons-logging-1.1.jar 日志输出类
velocity-1.7.jar 包含velocity运行时需要的类
velocity-tools-2.0.jar 视图控制和系统工具类

3.2 springMVC应用

你可能感兴趣的:(java开发)