详解初学者建议看

上传人:xiao****1972 文档编号:84782614 上传时间:2019-03-04 格式:DOC 页数:30 大小:135.45KB
返回 下载 相关 举报
详解初学者建议看_第1页
第1页 / 共30页
详解初学者建议看_第2页
第2页 / 共30页
详解初学者建议看_第3页
第3页 / 共30页
详解初学者建议看_第4页
第4页 / 共30页
详解初学者建议看_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《详解初学者建议看》由会员分享,可在线阅读,更多相关《详解初学者建议看(30页珍藏版)》请在金锄头文库上搜索。

1、Velocity教程关键字: velocity教程 Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。 当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。 官方网

2、站: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多行#* xxxxxxxxxxxxxxxxxxx*#References 引用的类型3、变量 Variables 以 $ 开头,第一个字符必须为字母。c

3、haracter 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.namehashtable user中的的name值.类似:user.get(name)5、Methods object user.getName() = $user.getName()6、Formal Reference Notation

4、 用把变量名跟字符串分开 如#set ($user=csy$username 返回csyname$username$!username$与$!的区别当找不到username的时候,$username返回字符串$username,而$!username返回空字符串 7、双引号 与 引号 #set ($var=helo)test$var 返回testhellotest$var 返回test$var可以通过设置 stringliterals.interpolate=false改变默认处理方式8、条件语句#if( $foo ) Velocity!#end#if($foo)#elseif()#else#

5、end当$foo为null或为Boolean对象的false值执行.9、逻辑运算符:= & | !10、循环语句#foreach($var in $arrays ) / 集合包含下面三种Vector, a Hashtable or an Array#end#foreach( $product in $allProducts )$product#end#foreach( $key in $allProducts.keySet() )Key: $key - Value: $allProducts.get($key)#end#foreach( $customer in $customerList )

6、$velocityCount$customer.Name#end11、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 = 112、包含文件 #include( one.gif,two.txt

7、,three.htm )13、Parse导入脚本#parse(me.vm )14、#stop 停止执行并返回 15、定义宏Velocimacros ,相当于函数 支持包含功能#macro( d )#end调用 #d()16、带参数的宏#macro( tablerows $color $somelist )#foreach( $something in $somelist )$something#end#end17、Range Operator #foreach( $foo in 1.5 ) Velocity用户手册-中文版 (来源网络) Velocity是什么? Velocity是一个基于ja

8、va的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。 当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。 Velocity的能力远不止web站点开发这个领域,例如,它可以从模板(template

9、)产生SQL和PostScript、XML,它也可以被当作一个独立工具来产生源代码和报告,或者作为其他系统的集成组件使用。Velocity也可以为Turbine web开发架构提供模板服务(template service)。Velocity+Turbine提供一个模板服务的方式允许一个web应用以一个真正的MVC模型进行开发。 Velocity能为我们作什么? The Mud Store Example Velocity使得web页面的客户化工作非常容易。作为一个web site的设计人员,你希望每个用户登陆时都拥有自己的页面。 你会见了一些公司内的软件工程师,你发现他们每个人都同意客户应该

10、拥有具有个性化的信息。那让我们把软件工程师应该作的事情发在一边,看一看你应该作些什么吧。 你可能在页面内嵌套如下的VTL声明: Hello $customer.Name! #foreach( $mud in $nudsOnSpecial ) #if ( $customer.hasPurchased( $mud ) ) $flogger.getPromo( $mud ) #end #end Velocity Template Language(VTL):AN introduction VTL意味着提供最简单、最容易并且最整洁的方式合并页面动态内容。 VTL使用references来在web si

11、te内嵌套动态内容,一个变量就是一种类型的reference。变量是某种类型的refreence,它可以指向java代码中的定义,或者从当前页面内定义的VTL statement得到值。下面是一个VTL statement的例子,它可以被嵌套到HTML代码中: #set ( $a = “Velocity” ) 和所有的VTL statement一样,这个statement以字符开始并且包含一个directive:set。当一个在线用户请求你的页面时,Velocity Templating Engine将查询整个页面以便发现所有字符,然后确定哪些是VTL statement,哪些不需要VTL作任

12、何事情。 字符后紧跟一个directive:set时,这个set directive使用一个表达式(使用括号封闭)一个方程式分配一个值给变量。变量被列在左边,而它的值被列在右边,最后他们之间使用号分割。 在上面的例子中,变量是$a,而它的值是Velocity。和其他的references一样以$字符开始,而值总是以双引号封闭。Velocity中仅有String可以被赋值给变量。 记住以下的规则: 使用$字符开始的references(参考,引用)用于得到什么;使用#字符开始的directives(指令)用于作些什么。 Hello Velocity World! 一旦某个变量被分配了一个值,那么

13、你就可以在HTML文件的任何地方引用它。在下面的例子中,一个值被分配给$foo变量,并在其后被引用。 #set ( $foo = “Velocity” ) Hello $foo World! 上面的实现结果是在页面上打印“Hello Velocity World!” 为了使包含VTL directives的statement(语句)更具有可读性,我们鼓励你在新行开始每个VTL statement,尽管你不是必须这么作。Set directive将在后面详细描述。 注释 单行注释: # This is a single line comment. 多行注释: #* Thus begins a m

14、ulti-line comment. Online visitors wont see this text because the Velocity Templating Engine will ignore it. *# 文档格式: #* This is a VTL comment block and may be used to store such information as the document author and versioning information: version 5 author *# References 在VTL中有三种类型的references:变量(variables)、属性(properties)、方法(methods)。作为一个使用VTL的页面设计者,你和你的工程师必须就referen

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号