Velocity(5)——#macro 指令】的更多相关文章

1 #macro(formatIncreaseData $increase) 2 #if(${product.onlineStatusFlag} =='0') 3 -- 4 #elseif(!$increase || $increase=="") 5 -- 6 #else 7 #if($increase >= 0) 8 #set($color = "increase-number") 9 #elseif($increase < 0) 10 #set($c…
#Include和#Parse都是用于将本地文件引入当前文件的指令,而且被引入的文件必须位于TEMPLATE_ROOT.这两者之间有一些区别. #Include 被#Include引入的文件,其内容不会被Velocity引擎解析,所以这些文件应该是静态模板,即不含有VTL的模板.使用#Include()指令时,参数是被双引号括起来的文件名或者是表示文件名的变量.如果有多个文件,以逗号隔开即可.比如#Include("a.gif", "b.html", $file).…
下面是#If指令的一个简单而完整的示例: #if ($foo < 10) Go North #elseif ($foo == 10) Go East #else Go West#end 不能漏掉 #if指令用于判断某个条件是否为true.以上面的代码为例,当$foo < 10为true时,将会显示"Go North". 有时会看到这样一种写法:#if($foo) ... #end.这里充当判断条件的是一个变量$foo,它在两种情况下是true:一是$foo作为布尔值(Boo…
引用可以让模板设计者生成动态内容,而指令允许设计者真正的负责页面的展现和内容. 指令是以#开头,后面紧跟一个关键字,比如if,else,foreach等.而这个关键字,是可以被放在{}中间的.这是规范的写法,但是可能不好看. #set #set指令用于向一个变量或者属性赋值.其格式为 #set($foo="bar")或者#set($foo.bar=$test) . LHS必须是一个变量或者属性,RHS必须是以下7种类型之一:变量.属性.字符串字面值.数字字面值.方法.ArrayList…
引用可以让模板设计者生成动态内容,而指令允许设计者真正的负责页面的展现和内容. 指令是以#开头,后面紧跟一个关键字,比如if,else,foreach等.而这个关键字,是可以被放在{}中间的.这是规范的写法,但是可能不好看. #set #set指令用于向一个变量或者属性赋值.其格式为 #set($foo="bar")或者#set($foo.bar=$test) . LHS必须是一个变量或者属性,RHS必须是以下7种类型之一:变量.属性.字符串字面值.数字字面值.方法.ArrayList…
#Include和#Parse都是用于将本地文件引入当前文件的指令,而且被引入的文件必须位于TEMPLATE_ROOT.这两者之间有一些区别. #Include 被#Include引入的文件,其内容不会被Velocity引擎解析,所以这些文件应该是静态模板,即不含有VTL的模板.使用#Include()指令时,参数是被双引号括起来的文件名或者是表示文件名的变量.如果有多个文件,以逗号隔开即可.比如#Include("a.gif", "b.html", $file).…
引用可以让模板设计者生成动态内容,而指令允许设计者真正的负责页面的展现和内容. 指令是以#开头,后面紧跟一个关键字,比如if,else,foreach等.而这个关键字,是可以被放在{}中间的.这是规范的写法,但是可能不好看. #set #set指令用于向一个变量或者属性赋值.其格式为 #set($foo="bar")或者#set($foo.bar=$test) . LHS必须是一个变量或者属性,RHS必须是以下7种类型之一:变量.属性.字符串字面值.数字字面值.方法.ArrayList…
首先是#foreach的简单示例: #foreach( $elem in $allElems) $elem</br> #end 上面这个例子中,$allElems可以是一个Vector,一个HashTable,一个数组. 在Velocity中,有一个变量$velocityCount用作循环计数,初始值是1.这个变量的名字和初始值是在velocity.properties文件里配置的. 下面是更多的几个例子: #set($nums=[-2 .. 2]) #foreach($i in $nums)…
Velocity语言的介绍 2016-09-06 15:39:25 语言介绍 Velocity是一种Java模版引擎技术,是一个基于Java的模板引擎(template engine).她允许任何人简简单单的使用模板语言类引用由Java代码定义的对象. 当Velocity应用于web开发时,界面设计人员可以和Java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序员关注业务逻辑编码.Velocity将Java代码从web页面中分…
定义宏和使用宏 #macro指令用于定义一个VTL模板的重复代码块——宏.下面是一个简单的定义宏的例子: #macro( d ) <tr><td></td><tr> #end 这段代码定义了一个宏,名字为d,没有参数.下面是使用这个宏的代码: #d() Velocity在遇到#d()的时候,会用"<tr><td></td></tr>"替代上面的#d()这一行. 宏的参数: 宏也可以带参数,而…