Velocity用户开发手册

收藏 分享

资源预览需要最新版本的Flash Player支持。
您尚未安装或版本过低,建议您

户手册 1 关于 。本指南中有很多示例展示了用 是所有的 感谢选择 2 它允许任何人仅仅简单的使用模板 语言( 引用由 能力远不止 点开发这个领域,例如,它可以从模板( 生 也可以被当作一个独立工具来产生源代码和报告,或者作为其他系统的集成组件使用。 发架构提供模板服务( 供一个模板服务的方式允许一个 型进行开发。 3 设你是一家专门出售 泥浆( 的在线商店的页面设计人员,让我们暂且称它为“在线 你们的业务很旺,客户下了各种类型和数量的 们都是通过输入用户名和密码后才登陆到你的网站,登陆后就允许他们查看订单并购买更多的 在,一种非常流行的 在打折销售。另外有一些客户规律性的购买另外一种也在打折但是不是很流行的 于购买的人并不多所以它被安置在页面的边缘。所有用户的信息都是被跟踪并存放于数据库 中的,所以某天有一个问题可能会冒出来:为什么不使用 为一个 希望每个用户登陆时都拥有自己的页面。 你会见了一些公司内的软件工程师,你发现他们每个人都同意客户应该拥有具有个性化的信息。那让我们把软件工程师应该作的事情发在一边,看一看你应该作些什么吧。 你可能在页面内嵌套如下的 #$ # $$ ) $$ # 绍 在为 面结合动态内容提供最容易、简单和简洁的方法。即使有一点或者没有编程经验的页面设计者也可以很快能为页面提供动态内容。 用( 来在 个变量就是一种类型的 量是某种类型的 可以指向 者从当前页面内定义的 面是一个 可以被嵌套到 # $a = “) 和所有的 句) 一样,这个 字符开始并且包含一个 令) : 一个在线用户请求 你的页面时, 字符,然后确定哪些是 些不需要 #字符后紧跟一个 令) : 个 用括号封闭) —— 一个方程式分配一个值给变量。变量被列在左边,而它的值被列在右边,最后他们之间使用=号分割。 在上面的例子中,变量是 $a,而它的值是 其他的 样以 $字符开始,而值总是以双引号封闭。 记住以下的规则: 使用 $字符开始的 用 #字符开始的 5 一旦某个变量被分配了一个值,那么你就可以在 件的任何地方引用它。在下面的例子中,一个值被分配给 $在其后被引用。 # $ “) 上面的实现结果是 在页面上打印“ 为了使包含 们鼓励你在新行开始每个 管你不是必须这么作。 6 注释 可以用注释加入描述性文本,他们并不在模板引擎中输出。注释可以有助于你的记忆或者想其他人解释你的 单行注释以 ##开始,并在本行结束。 ## is a 如果需要加入多行注释,并不需要 加入很多的单行注释。 多行注释,以 #*开始并以 *#结束可以处理这种情况。 #* a t *# 还有第三种注释, 文档格式) ,可以用来存储诸如文档作者、版本信息等。 #** is a be to as @ @# 7 引用的类型 量 (属性 (方法(作为一个使用 和你的工程师必须就 便你可以在你的 有关引用的所有 参数都处理为字符串对象。 to a is as a 果有一个对象 $么 方法将这个对象转型为 量 量的简略标记是有一个前导 "$"字符后跟一个 识符( 成。一个 a .. A .. Z)。剩下的字符将由以下类型的字符 组成: a .. z, A .. Z) 字母 0 .. 9) 数字 "-") 连字符 "_") 下划线 下面是一些有效的变量引用: $ 如 $量可以从模板的 可以从 如,如果 所有 $者,如果包含下面的语句: #$ ") 紧跟指令后的所有 $ 性 用的第二种元素是属性,而属性具有独特的格式。属性的简略标记识前导符 $后跟一个 识符,在后跟一个点号 (".")最后又是一个 识符。这是一些有效的示例: $两种含义。它可以表示:查找 象 可以表示调用 方法。当你的页面被请求时, 后返回适当的值。 法 个方法就是被定义在 的一段代码,并且它有完成某些有用工作的能力,例如一个执行计算和判断条件是否成立、满足等。方法是一个由 $开始并跟随 般还包括一个 如: $ $ $“) $[“ “ “ ) 前两个例子 $和 $看起来挺像 上面的属性 $果你觉得他们之间有某种联系的话,那你是正确的。 性可以作为 法的缩写。 $性和使用$方法具有相同的效果。如果可能的话使用属性的方式是比较合理的。属性和方法的不同点在于你能够给一个方法指定一个参数列表。 我们或许希望方法可以为我们放回属于太阳系的行星的名字,喂养我们的蚯蚓,或者从相册中返回一张照片。下面只有长的那个标记是可以工作的方法: $[" " " ) ## 不能将参数列表传递给 $ ## 定我意思是 $ $") ## 不能传递一个参数列表 用符 式如下: 变量 ${ 属性 ${ 方法 ${} 非正式 格式更见常用,但是有时还是使用正是格式比较适合。例如:你希望通过一个变量 $is a $本来变量是 $在却变成了 $样 不知道您到底要什么了。所以,应该使用正是格式书写: is a ${在 例如: 当页面的 量 $没有值,这时你 肯定是希望它能够显示一个 $样的字段。那么使用 这样文本框的初始值就不会是 “是空值了。 正式和 下面这样: 8 和 #来帮助它工作,所以如果要在 节将讨论 $字符。 币字符 在 为 TL 义有效地 \”作为逃逸符。 例如: #$ “) $$\$\\$ $果 $$\$\\$被 $$\$\\$意: 以以下例子: #$ “) $ $输出结果是: $ 在你已经对 较熟悉了,你可以将他们高效的应用于你的如: $ ## is ## is $ # is # is {但是,注意 如: $方法,而不是 10 而达到你所期望的显示效果。 包括 ## #######万不得已的时候,不要在页面视图自己声明 就是尽量少使用 #时候我们需要在页面中显示序号,而程序对象中又没有包含这个序号属性同,可以自己定义。 #如: # $ “) # $ $ 赋值左侧的( 须 是一个变量或者属性 侧( 以是以下类型中一种: 变量 量引用) 面字符窜) 属性 性引用) 方法 法引用) 面数字) 组列表) 下面是应用各种类型的 # $ $ ##变量 $“ ) ## $ $ ##属性 $ $) ##方法 $ 123 ) ## $ [“ , $“ ] ) ##意:最后一个例子的取值方法为: $) # $ $ 1 ) # $ $1 ) # $ $ $ # $ $ $ 如果你的 一个 处理将比较特殊:它将指向一个已经存在的 对初学者来讲可能是比较费解的。例如: # $ $ ) of $ $ ) of 果 $ )返回一个“ 而 $ )返回的是 显示的结果如下: of is he of is 看下面的例子: #$ [" " ) #$ #$ $) #$ 上面的例子中,程序将不能智能的根据 $$to 它不能被设置回 打印的结果将显示两次查询结果都成功了,但是实际上有一个查询是失败的。 为了解决以上问题我们可以通过预先定义的方式: #$ [“ “ ) #$ #$ #$ $$ ) #$ 面字符串 当你使用 # # $ “) # $ “) # $ “$) $面这段代码的 输出结果为: 是,当 将不被解析: # $ “) $ $ ‘$) 结果: 面这个特性可以通过修改 件语句 if/一个 面被生成时使用 if 果条件成立的话可以在页面内嵌入文字。例如: # $ #例中的条件语句将在以下两种条件下成立: $它的值为 里需要注意一点: 仅能够包含对象,所以当我们说“ 实际上代表的时一个 象。即便某个方法返回的是一个 如果条件成立,那么 # #如: #$#$= 10 ) #$= 6 ) #o #意 这里的 数字是作为 比较的――其他类型的对象将使得条件为 是与 同它使用“ ==”来比较两个值,而且 系、逻辑运算符 如: # $ “) # $ “) # $= $ In it’s t #be #面是一些例子: ## $& $ ND ## R # $| $ R ## !$ #较 种是: ## 判断是否为 # 推荐使用 ##!## 判断是否非 $另外一种是: # " $ -> -> -> $ -> $$ -> -> " $ -> $$ -> $环 例子: # $ $#次循环 $ $配给 $象,并且可以通过变量被引用。例如:如果 $一个 且这个产品的名字可以通过调用他的 方法得到。 现在我们假设 $一个 果你希望得到它的 # $ ) $> $ #便你可以像下面这样作: # $ $量的名字是 认的名字,件来改变它。默认情况下,计数从“ 1”开始,但是你可以在 1”还是从“ 0”开始。下面就是文件中的配置: # of of 1 10.5 含 #引入文件的内容将不会通过模板引擎被 了安全的原因,被引入的本地文件只 能在 # “) 如果您需要引入多个文件,可以用逗号分隔就行: # “ “ “) 在括号内可以是文件名,但是更多的时候是使用变量的: # “ $ 10.6 析 # #“) 就像 ##受一个变量而不是一个模板。任何由 #向的模板都必须包含在 录下。与 #同的是, #能指定单个对象。 你可以通过修改 件的 值来控制一个 默认值是 10。 #如:如果 # $ 8 ) # “) 那么在 可以包含如下 $ $ $ 1 ) # $ 0 ) #“) #ll #显示结果为: 8 7 6 5 4 3 2 1 0 10.7 #它应用于 # #TL 如: # d ) #上面的例子中 d,然后你就可以在任何 #d() 当你的 换为 #d()。 每个 甚至 0个参数,虽然定义时可以随意设置参数数量,但是调用这个 面是一个拥有两个参数的 个参数是 # # $ $用 # # $ [ “ “ “ “ “] ) # $ “) #$ 经过以上的调用将产生如下的显示结果: 以在 板内实现行内定义( 也就意味着同一个 义一个可以被所有模板共享的 减少了在一大堆模板中重复定义的数量、节省了工作时间、减少了出错的几率、保证了单点修改。 上面定义的 #$定义在一个 在 里,所以这个 可以被多次应用并且可以应用于不同的目的。例如下面的调用: # $ [ “ “ “ “ “] ) # $ “#) #$ 上面 以下任何元素作为参数: 何以 $开头的 字面字符窜 字面数字 [1… 者 [$.$对象数组: [“ a” ,” b” ,” c” ] 将一个 注意 就意味着参数的值在每次 执行时才会被产生。这个特性使得你可 以将一个方法调用作为参数传递给 每次 行时都是通过这个方法调用产生不同的值来执行的。例如: # a ) $a $a $a #$ ) 执行的结果是: 方法被执行了三次。 如果你不需要这样的特性可以通过以下方法: # $ $ ) # $ 意更多的内容可以看 件中的 个以逗号分隔的模板库列表。默认情况下, 可以通过配置这个属性来指定自己的模板库。 件中的 性:有两个可选的值 者 过它可以确定 否可以被定义在。默认值是 允许设计者在他们自己的模板中定义 个属性允许使用者确定 比如在 默认情况下,此值为 样就阻止本地 性也是有 个可选值,默认是 的作用是用于确定你 句话说,如果这个属性设 置为 个 可以使用此设置实现一个奇妙的 门: a a of M be by M by 中的 认值为 设置为 何在 对 不会永久的影响内容。 件中的 性控制的自动加载。默认是 设置为 于一个 检查原始库是否发生了变化,如果变化将重新加载它。这个属性使得你可以不用重新启动 器而达到重新加载的效果,就像你使用 个属性可以使用的前提就是 存是 态( 注意这个属性实际上是针对开发而非产品的。 就是说,你的 #声明应该出现在使用 特 别要注意的是,如果你试图 #一个包含 #的模板。因为 #发生在运行期,但是解析器在 M 元素,这样 #M 声明将不按照预期的样子工作。为了得到预期的结果,只需要你简单的使用 得 启动时加载你的 11 TL be \”号,使 用方式跟 ## #“ ) 注释行 ) #“) ## \#“) #“) \#“) ## \\# “) \\#“) 在对在一个 TL 如在一个 )。下面是 # $ 果 $出将是: 果 $没有输出。使用逃逸符将改变输出。考虑一下下面的情况: \# $ #在无论 $出结果都是: # $ 实上,由于你使用了逃逸符, $逃逸符前使用逃逸符是合法的,例如: \\# $ \#上程序的显示结果为: \ 但是如果 $么将没有输出。( 书上说会没有输出,但是我觉得应该还有有“ \”字符被输出。) 12 尽管在此用户手册中 下所示: # $ [ “ “ “ “] ) # $ $是像下面这种写法也是可以的: [“$10 ”a )#a a #上面的代码可以被改写为: $ [“$10 ,”a ) # $a $a #或者 [“$10 ,”a ) # $a $a #这两种的输出结构将一样。 13 其他特性和杂项 13.1 在模板中可以使用 :加、减、乘、除 。 # $ $ 3 ) # $ $ 4 ) # $ $ 6 ) # $ $ 2 ) 当执行除法时将返回一个 余数你可以使用 %来得到: # $ $ 5 ) 在 能使用像 2,,1,2,不能使用其它类型 数据。当一个非整型的对象被使用时它将被 且将以 于处理一个整型数组它是很有用的, [n.m和 子: # $1.) $# $2.) $# $ [0.) # $i $i #[1.上面四个例子的输出结果为: 1 2 3 4 5 2 1 0 2 0 1 [1.注意: 进阶:转义和 ! 当一个 ”分隔时,并且在它之前有逃逸符时, 意这种方式与标准的逃逸方式时不同的。对照如下: # $ “) 特殊形式标准格式 $\!!$$\!{$!{\$!$!\\!\!$!{\$!{$\\\!\\!\$!{\4 记 Q: a or M as an to a 是否可以使用指令 者 为另一个 参数 ? 例如: # #“) ) A: 不可以。一个 但是,还是有些事情你可以作的。最简单的方式就是使用双引号: # $ “#‘)” ) # $ 上面的格式也可以缩写为一行: # “#‘) ”) 请注意,后面这个例子中,参数是在 部被求值,不是在调用的那一层次上。换句话说,被传入的 参数是整个被传入的,并且在传入的 以我们可以这样做: # $ # $ “) $ $ ‘) #“# ) 输出结果为: 住 数的传递是 如: # $ ) 以上代码将导致 方法两次调用,而不是一次。为了避免这种现象的出现,我们可以按照下面的方式执行: # $ $ ) # $ Q: ?是否可以通过 #注册 A: 目前, 须在第一次被模板调用前被定义。这就意味着你的 #声明应该出现在使用 如果你试图 #一个包含 # 模板,这一点是需要牢记的。因为 #发生在运行期,但是解析器在 M 元素的元素是否是一个 素,这样 #M 声明将不按照预期的样子工作。为了得到预期的结果,只需要你简单的使用 得 Q: is 什么是 动载入 ? 这是一个属性,在开发时使用,而不 是 运行时: 认值为 当设置为 同 性设置为 里 是使用的资源载入器的名称,比如 ' , 擎在你创建 样你就不必将其导入 擎(或者应用程序)中,或者用其他手段来使其自动重新载入。 下面是一个简单的设置配置组合: 意在生产状态(运行时)不要使其打开。 15 开发人员最常问的问题是我如何作字符拼接?在
编号:638036    类型:共享资源    大小:156.50KB    格式:DOC    上传时间:2016-04-15 上传人:y**** IP属地:四川
0.12
积分
关 键 词:
velocity 用户 开发 手册
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:Velocity用户开发手册
链接地址:https://www.renrendoc.com/p-638036.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2024  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!