Velocity变量详解 Velocity转义字符详解 Velocity macro宏指令详解 Java Velocity中所有的变量都是以 $ 开头,所有的关键字都是以 # 开头。 变量定义 #set($name =“velocity”) Velocity引擎将会给¥name赋值为“codingdict” 变量赋值 模板中,通过#set指令给变量赋值 #set($a="aaa") ##字符串赋值 #set($monkey.Say=["not", "fault"]) ##ArrayList赋值 #set($monkey,Map={"banana":"good", "beef":"bad"}) ##Map赋值 //各种赋值方法 #set($foo = $bar) //变量引用 #set($foo =“hello”) //字符串 #set($foo.name = $bar.name) //属性引用 #set($foo.name = $bar.getName($arg)) //方法引用 #set($foo = 123) //数字 #set($foo = [“foo”,$bar]) //数组列表 例子 #set($root = "www") #set($name = "codingdict.com") #set($template = "$root.$name") $template 执行输出: www.codingdict.com 总结 在模板文件中使用$name 或者${name} 来使用定义的变量。推荐使用${name} 这种格式,因为在模板中同时可能定义了类似$name 和$names 的两个变量,如果不选用大括号的话,引擎就没有办法正确识别$names 这个变量。 对于一个复杂对象类型的变量,例如$person,可以使用${person.name} 来访问 person 的 name 属性。值得注意的是,这里的${person.name} 并不是直接访问 person 的 name 属性,而是访问 person 的 getName() 方法,所以${person.name} 和${person.getName()} 是一样的。 Velocity转义字符详解 Velocity macro宏指令详解