Velocity的出现给程序员减轻了大量的页面工作。Velociy 1.6新增了一些非常有用的指令和功能,并修复了一些bug,用起来比较方便。这里将列出一些新的改变,(其他语法请参考Velocity1.4),希望对大家有所帮助。
TYPE | CHANGE | eg. |
ADD | 增加#define指令 定义可以引用的VTL渲染块 | #define( $foo )Hello, $bar!#end #set( $bar = 'world') $foo 输出: Hello, world! |
ADD | 增加可以跳出#foreach循环的#break指令 | #foreac($a in $list) #if($a==1) #break #end #end |
ADD | 增加#foreach指令中使用的VTL语法变量 $velocityHasNext判断是否还有下一个元素 | #foreach( $customer in $customerList ) $customer.Name #if( $velocityHasNext ), #end #end 配置: directive.foreach.counter.name = velocityCount directive.foreach.iterator.name = velocityHasNext |
ADD | 允许模板中使用数组时当做List来使用,意味着可以使用list的方法 | $myarray.isEmpty() $myarray.size() $myarray.get(2) $myarray.set(1, 'test') |
ADD | 支持模板上调用变参数方法 | 对于public void setPlanets(String... planets)或者 public void setPlanets(String[] planets)模板上可以这样调用:$sun.setPlanets('Earth', 'Mars', 'Neptune') $sun.setPlanets('Mercury') $sun.setPlanets() |
ADD | 增加严格引用检查设置,必须在#set或者context中设置的变量才能使用,否则会抛出exception(可配置开启关闭) | 如果$foo不存在,并且严格引用检查开启 $foo ## Exception #set($bar = $foo) ## Exception #if($foo == $bar)#end ## Exception #foreach($item in $foo)#end ## Exception |
ADD | 增加模板上定义map | #set( $monkey.Map = {"banana" : "good", "roast beef" : "bad"}) ## Map 使用: $monkey.Map.get("banana") 或 $monkey.Map.banana |
ADD | 增加#literal指令来指定大块的不需要进行渲染的内容(类似于\(escaping)的多行版本用法) | 模板中: #literal() #foreach ($woogie in $boogie) nothing will happen to $woogie #end 则输出: #foreach ($woogie in $boogie) nothing will happen to $woogie #end #end |
ADD | 增加#evaluate指令在模板渲染时动态执行字符串(类似于JS中的eval()方法) | #set($source1 = "abc") #set($select = "1") #set($dynamicsource = "$source$select") ## $dynamicsource is now the string '$source1' #evaluate($dynamicsource) |
详情请登陆Velocity官方网站
更多请查看 http://velocity.apache.org/engine/devel/changes-report.html
也可以使用 http://velocity.apache.org/engine/devel/user-guide.html
分享到:
相关推荐
### VTL语法参考指南中文版知识点详述 #### 一、引言 VTL(Velocity Template Language)是一种基于Apache Velocity框架的模板语言,用于将数据模型与用户界面分离,简化了动态网页的生成过程。VTL语法简洁且功能...
【VTL语法】是Velocity模板语言的语法规范,Velocity是一个用于Java应用的模板引擎,它允许开发者将HTML页面与Java代码分离,使设计和开发更加独立。以下是对VTL语法的详细说明: 1. **变量定义** VTL中的变量以...
VTL,全称为Velocity Template Language,是Apache Velocity引擎的核心部分,一种用于生成动态Web内容的模板语言。...解压后,按照案例逐步实践,结合VTL语法和最佳实践,相信你会对Velocity有更深的认识。
《Velocity 1.6 Dep Jar:深入理解与应用》 Velocity,一个强大的模板引擎,是Apache软件基金会的一个开源项目,其设计目标是为了让开发者能够更专注于业务逻辑,而不是页面展示的细节。在Java世界里,Velocity 1.6...
`Velocity_《VTL语法参考指南》中文版.doc` 提供了详细的学习材料,`velocity-1.6.jar` 是实际开发中必不可少的库,而`velocity.ppt` 则可能是进一步了解和学习Velocity的辅助资料。对于想要深入了解和使用Velocity...
教程内容包含了解Velocity模板引擎的基础知识、学习VTL语法、设置和使用velocity.properties配置文件以及如何在Servlet和Spring MVC环境中集成Velocity。 ### Velocity模板引擎的基本使用方法 Velocity可以用来...
这个压缩包包含了四本关于Velocity的经典中文教程,分别是《Velocity模板使用指南中文版》、《VTL语法参考指南中文版》、《Velocity Web应用开发指南中文版》和《velocity Java开发指南中文版》。以下是对这些教程...
2. Velocity需要了解VTL语法。 Velocity的应用示例: 1. Mud Store示例:Velocity可以用来生成Web页面,并根据客户的偏好进行个性化推荐。 2. 个人化Web页面:Velocity可以用来生成个人化的Web页面,根据用户的...
Velocity Template Language (VTL) 是Velocity的核心,它提供了一种简洁的语法来融合静态HTML与动态内容。VTL主要通过引用(references)来插入动态内容。引用可以是变量、属性或方法。 1. 变量 (Variable References...
Apache Velocity - VTL Reference just for convenience, it's from official site documentation
# Velocity文档及详细语法 Velocity是Apache软件基金会的一个开源项目,它是一款强大的模板引擎,用于生成动态内容。Velocity被广泛应用于Web应用开发、文档生成、报告制作等领域,因其简洁的语法和良好的可读性而...
在这个“velocity学习资料.zip”压缩包中,可能包含了关于Velocity的基本概念、语法、最佳实践以及一些示例代码,帮助初学者或有经验的开发者更好地理解和应用Velocity。 Velocity的工作原理基于MVC(Model-View-...
VTL语法简洁且易于理解,有助于提高开发效率。 总的来说,Velocity作为一个强大的模板引擎,能够帮助Java开发者实现高效的内容生成,同时通过分离模板和业务逻辑,使得前后端职责更加明确,提高了代码的可维护性和...
Velocity 提供了一种简单但强大的语言,称为 Velocity Template Language (VTL),用于生成动态内容。 ### 1. Velocity 概述 Velocity 作为 Apache 软件基金会的开源项目,被广泛应用于各种 Web 开发框架,如 Apache...
本人搜集的Velocity相关的所有帮助文档,包括: 《Velocity Web应用开发指南中文版.pdf》、 《Velocity+Java开发指南中文版.pdf》、 《Velocity模板使用指南中文版.pdf》、 《VTL语法参考指南中文版.pdf》
总的来说,Velocity通过其直观的VTL语法和丰富的指令集,使得动态内容的生成变得简单易懂,适合网页设计师和开发人员共同协作。它的灵活性和可扩展性使其在生成各种类型的输出文件时都表现出色,不仅限于网页,还...
**Velocity** 是一款基于 Java 的模板引擎,它提供了一种简洁高效的语法——**Velocity 模板语言 (VTL)**,用于引用 Java 代码中定义的对象。这使得页面设计者能够专注于页面布局和样式,而 Java 开发人员则负责业务...