Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。 当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。
官方网站:http://jakarta.apache.org/velocity/
Velocity脚本摘要
1、声明:#set ($var=XXX)
左边可以是以下的内容
Variable reference
String literal
Property reference
Method reference
Number literal #set ($i=1)
ArrayList #set ($arr=["yt1","t2"])
技持算术运算符
2、注释:
单行## XXX
多行#* xxx
xxxx
xxxxxxxxxxxx*#
References 引用的类型
3、变量 Variables
以 "$" 开头,第一个字符必须为字母。character followed by a VTL Identifier. (a .. z
or A .. Z).
变量可以包含的字符有以下内容:
alphabetic (a .. z, A .. Z)
numeric (0 .. 9)
hyphen ("-")
underscore ("_")
4、Properties
$Identifier.Identifier
$user.name
hashtable user中的的name值.类似:user.get("name")
5、Methods
object user.getName() = $user.getName()
6、Formal Reference Notation
用{}把变量名跟字符串分开
如
#set ($user="csy"}
${user}name
返回csyname
$username
$!username
$与$!的区别
当找不到username的时候,$username返回字符串"$username",而$!username返回空字符串""
7、双引号 与 引号
#set ($var="helo")
test"$var" 返回testhello
test'$var' 返回test'$var'
可以通过设置 stringliterals.interpolate=false改变默认处理方式
8、条件语句
#if( $foo )
<strong>Velocity!</strong>
#end
#if($foo)
#elseif()
#else
#end
当$foo为null或为Boolean对象的false值执行.
9、逻辑运算符:== && || !
10、循环语句#foreach($var in $arrays ) // 集合包含下面三种Vector, a Hashtable or an Array
#end
#foreach( $product in $allProducts )
<li>$product</li>
#end
#foreach( $key in $allProducts.keySet() )
<li>Key: $key -> Value: $allProducts.get($key)</li>
#end
#foreach( $customer in $customerList )
<tr><td>$velocityCount</td><td>$customer.Name</td></tr>
#end
11、velocityCount变量在配置文件中定义
# Default name of the loop counter
# variable reference.
directive.foreach.counter.name = velocityCount
# Default starting value of the loop
# counter variable reference.
directive.foreach.counter.initial.value = 1
12、包含文件
#include( "one.gif","two.txt","three.htm" )
13、Parse导入脚本
#parse("me.vm" )
14、#stop 停止执行并返回
15、定义宏Velocimacros ,相当于函数 支持包含功能
#macro( d )
<tr><td></td></tr>
#end
调用
#d()
16、带参数的宏
#macro( tablerows $color $somelist )
#foreach( $something in $somelist )
<tr><td bgcolor=$color>$something</td></tr>
#end
#end
17、Range Operator
#foreach( $foo in [1..5] )
分享到:
相关推荐
Velocity 模板引擎初体验 Velocity 是一种 Java 模板引擎技术,由 Apache 提出,是一种基于 Java 的模板引擎,允许任何人使用简单而强大的模板语言来引用定义在 Java 代码中的对象。Velocity 的主要功能是桥梁 ...
Velocity是Apache软件基金会的一个开源项目,它...总的来说,Velocity和Velocity Tools是Java Web开发中的重要组件,它们帮助开发者构建高效、可维护的Web应用,同时保持前后端的清晰分离,提高了开发效率和用户体验。
了解并熟练运用 Velocity 插件,能够极大地提升 MyEclipse 10 用户在处理 Velocity 模板时的体验和效率,使模板的编写和维护变得更为简单和高效。在实际开发中,开发者应该充分利用这些工具,以提升开发质量和效率。
总的来说,Eclipse中的Velocity插件是Java Web开发者不可或缺的工具,它简化了Velocity模板的开发和维护,提升了开发体验。熟练掌握插件的使用,能够帮助你更高效地利用Velocity进行Web应用的开发。
Eclipse编辑Velocity插件VelocitySite-2.0.8是一款专为Java开发人员设计的工具,旨在提升在Eclipse集成开发环境中编辑Velocity模板语言(VTL)的效率和体验。Velocity是一个快速、轻量级的Java模板引擎,常用于Web...
** Velocity 概述** Velocity 是一个开源的 Java 模板引擎,它允许开发者...通过上述步骤,你将能够熟练地使用 Velocity 1.4 进行 Java Web 开发,将动态数据无缝地融合到静态页面中,提升项目的开发效率和用户体验。
提供的《Velocity_java开发指南》和《Java的模板引擎Velocity初体验》两本书籍是学习Velocity的好资料。它们会详细介绍Velocity的使用方法、语法特性以及最佳实践,对于初学者来说非常有帮助。同时,Apache官网也有...
在实际应用中,比如在线MUD商店的例子,Velocity可以帮助创建个性化的用户体验。当用户登录时,页面可以根据用户的历史购买记录,通过VTL(Velocity Template Language)动态展示相关的促销商品。VTL是Velocity的...
6. **集成开发环境增强**: 与Eclipse的其他特性如版本控制、重构和调试工具无缝集成,提升开发体验。 **三、使用技巧** 1. **模板注释**: 使用`#* ... *#`进行注释,这在开发和调试过程中非常有用。 2. **指令...
总的来说,MyEclipse 的 Velocity 插件为 Velocity 模板开发提供了强大的支持,不仅提升了开发效率,还增强了开发体验。对于需要使用 Velocity 的 MyEclipse 用户来说,这是一个不可或缺的工具。
Velocity是一个基于Java的模板引擎,它的主要用途是将动态内容嵌入到Web页面中。...通过这些知识的积累,用户能够更充分地利用Velocity模板引擎强大的功能,为网站添加动态内容,优化用户体验,并提高开发效率。
通过理解和掌握上述知识点,开发者能够更好地利用Velocity进行模板设计,提升应用的用户体验并简化开发流程。学习和实践Velocity,你将发现它是一个强大且灵活的工具,可以为你的项目带来诸多便利。
总的来说,Eclipse的Velocity插件是Java开发人员的强大工具,它极大地提升了VML文件的编辑体验,使得模板开发变得更加高效和愉快。通过利用插件提供的各种特性,开发者能够更好地管理和优化Velocity模板,从而提升...
- **高效的数据整合**:轻松地将数据库中的数据整合到网页中,提高用户体验。 - **模板语言 VTL**:提供了一种简单易懂的方式来嵌入动态内容到网页中。 #### 三、Velocity Template Language (VTL) 介绍 - **VTL...
例如,在一个在线MUD商店的场景中,Velocity 可以根据用户的购买历史个性化展示商品,提高用户体验。页面中的VTL声明可以直接嵌入HTML,通过变量引用(References)和指令(Directives)来动态生成内容。 VTL的语法...
在实际项目中,`Java的模板引擎Velocity初体验.doc` 可能包含了初学者如何快速上手 Velocity 的步骤和常见问题。而 `Velocity2.ppt` 很可能是一个详细的 Velocity 进阶教程,涵盖了高级特性如宏、自定义工具类的使用...
通过这个组件,开发者可以在MyEclipse中享受到与编写Java代码类似的编辑体验,提升开发效率。 `README.txt`文件通常包含安装教程和使用指南。在这个案例中,它可能是指导用户如何将MyEclipse-Velocity插件安装到...
- **前端与后端分离**:前端开发人员可以专注于界面设计和用户体验,而后端开发人员则负责业务逻辑的实现。 - **动态内容生成**:利用Velocity的强大功能,可以方便地生成动态网页内容。 - **代码重用**:通过定义...
【Velocity语法以及整合struts2总结】 Velocity是一个开源的Java模板引擎,它是Apache软件基金会的Jakarta项目的一部分。...正确理解和掌握Velocity的语法和整合方法,能有效提升Web应用的开发效率和用户体验。