velocity基础

Velocity是什么?
Velocity
是一个基于 java 的模板引擎( template engine )。它允许简单的使用模板语言( template language )来引用由 java 代码定义的对象。

Velocity的eclipse插件
http://code.google.com/p/veloeclipse/

 

变量赋值
#set指令用来创建和更新变量值
#set( $foo = “text” )          String value
#set( $foo = 100 )         Numeric value
#set( $foo = [ 1, 2, 3 ] )      Array
#set( $foo = { 1 : 2, 3 : 4 } )      Map
#set( $foo = $bar )          Object Reference
#set( $foo = $bar.foo )          Bean Property
#set( $foo = $bar.doFoo() )   Method Result

 

循环
#foreach($foo in $foos) ... #end
默认从1开始
$velocityCount 引用循环计数
在velocity.properties中配置以下变量:
directive.foreach.counter.name = velocityCount   #计数变量名称
directive.foreach.counter.initial.value = 1   #从几开始计数

 

条件
#if() ... #elseif() ... #else ... #end

 

导入外部文件
#include() -- 被包含的文件不会被引擎render
#parse() -- 被包含的文件会被引擎render

注释
单行 ##
多行 #*  *#
文档格式  #**  *#


定义:#macro (name $arg1 $arg2) … #end
使用:#name($arg1 $arg2)
在velocity.properties中配置以下变量:
velocimacro.library指定逗号分隔的模板库

将一段代码赋给velocity变量
定义:#define($name) … #end
使用:$name

变量渲染
${formalReference}避免歧义,加入边界,如:${haha}abcd
$!ref or $!{ref} 为空不输出

velocity.properties属性配置文件

#break跳出循环

#continue??无此语句

不支持数组访问,可以使用工具类支持这个功能

转义符/

#stop停止执行模板引擎并返回

#evaluate动态评估表达式值
#set($source1 = "abc")
#set($select = "1")
#set($dynamicsource = "$source$select")
## $dynamicsource is now the string '$source1'
#evaluate($dynamicsource)值为"abc"

string连接:
$a$b
#set($str=$a+'-'+$b)

特殊性
1.赋值
#set ( $result = $query.criteria(“address”) )
#set ( $result = $query.criteria(“name”) )
如果$query.criteria(“address”) )返回"北京",$query.criteria(“name”)返回为null,则对$result还是原来的值"北京"

2.比较
#set($foo="10") $foo==10返回false
#set($foo=10) $foo==10返回true
说明:要求==两边值类型相同

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值