暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
Velocity中文指南.pdf
58
21页
0次
2023-07-06
免费下载
1. 关于
Velocity 用户指南旨在帮助页面设计者和内容提供者了解 Velocity 强大 Velocity
Template Language (VTL)。本指南中有很多示例展示了 Velocity 来讲动态内容嵌入到网站之中,但是所有 VTL
examples 都同演示用于所有的页面和模版。
2. 什么是 Velocity?
Velocity 是一个基于 Java 的模版引擎。它允许 web 页面设计者引用 JAVA 代码预定义的方法。Web 设计者可以根据
MVC 模式和 JAVA 程序员并行工作,这意味着 Web 设计者可以单独专注于设计良好的站点,而程序员则可单独专注于编写底
层代码。Velocity Java 代码从 web 页面中分离出来,使站点在长时间运行后仍然具有很好的可维护性,并提供了一个
JSP PHP 之外的可行的被选方案。
Velocity 可用来从模板产生 web 页面,SQL, PostScript 以及其他输出。他也可用于一个独立的程序以产生源代码和
报告,或者作为其它系统的一个集成组件。这个项目完成后,Velocity 将为 Turbine web 应用程序框架提供模板服务。
Velocity+Turbine 方案提供的模板服务将允许 web 应用按真正的 mvc 模式进行开发。
3. Velocity 以做什么?
3.1. 3.1. Mud Store 示例
假设你是一个专门销售泥浆(MUD)的在线商店的页面设计者。我们称他为"The Online Mud Store"。生意很好。客户
订购各种各样的类型和数量的泥浆。他们使用他们的用户名和密码登陆到商店中来,就可以浏览他们的订货和购买其他东西。
现在,赤土陶泥正在促销,这是一种很常用的泥巴。一少部分顾客很有规律的购买一种亮红土 Bright Red Mud,这也是促
销产品,但是不太常用,因此被移到页面的边缘。所有顾客的信息都在数据库中被跟踪,因此有一天问题出现了: 为什么
不使用 Velocity 来定位目标客户,这些客户对某种类型的产品特别感兴趣?
Velocity 使针对访问者个性的 WEB 页面客户化(个性化)非常容易。作为一个在线泥巴商店的站点设计者,以想在客
户以登陆进展点后就看到它们想看的页面。
你遇到你公司的软件工程师,每个人都认为
$customer
将保持当前登陆进入的客户信息,
$mudsOnSpecial
将士当前
所有促销的泥巴。
$flogger
对象包含有助于促销的方法。对于当前的任务,让我们仅关注这三个问题。记住,你不需要担
心软件工程师如何从数据库中取得顾客信息,但你必须知道他们可以。这样可以使你专注于你的工作而软件工程师则忙于他
们自己的工作。
你可以在你的页面中嵌入如下的 VTL 语句:
<HTML>
<BODY>
Hello $customer.Name!
<table>
#foreach( $mud in $mudsOnSpecial )
#if ( $customer.hasPurchased($mud) )
<tr>
<td>
$flogger.getPromo( $mud )
</td>
</tr>
#end
#end
</table>
foreach
语句的细节将进一步细说,但重要的是这个短小的脚本居然可以在你的站点上运行。当有一个倾向于亮红土
的顾客登陆进来时,亮红土正在促销,这就是这个顾客所看到的,并且促销显示非常显著。如果另外一个长期购买赤陶土的
顾客登陆进来,赤陶土促销的提示信息则应该在前面中间位置。Velocity 是非常灵活的,受限的只是你的创造力。
写在 VTL 参考文档中的是其他 Velocity 元素,他们一起给你很强大的能力和灵活性以创建很好的站
点。待你更加了解这些元素,就可以开始释放 Velocity 的强大动力。
4. Velocity 板语言(VTL): 介绍
Velocity 模板语言(VTL)旨在为 Web 页面结合动态内容提供最容易、简单和简洁的方法。即使有一点或者没有编程经
验的页面设计者也可以很快能为页面提供动态内容。
VTL 使用引用
references
来将动态内容嵌入 web 页面,每个变量就是某一个类型的引用。变量实际上是一个可以
调用定义在 java 代码中的内容的引用,或者它可以从页面内的 VTL 语句得出自身的值。下面是一个例子,说明可以嵌入到
HTML 文档中的 VTL 语句。
#set( $a = "Velocity" )
这个 VTL 语句,就像所有的 VTL 语句一样,以
#
字符开始,并跟着一个指令
set
当一个在线访问这请求页面时,
Velocity 模伴引擎在页面内搜索所有
#
字符,然后决定是哪一个标记了 VTL 语句的开始,哪个标记不需要 VTL 做什么动作。
#
字符后面紧跟一个指令
set
.
set
指令使用一个括在括号内的表达式---一个等式将一个值指派给一个变量。变量
在等号的左边而值在等号的右边。
在上面的示例中,变量是
$a
值是
Velocity
这个变量就象其他引用一样,以一个$字符开始。值通常在引号之中,
Velocity 来说一般没有类型冲突的问题,因为只有字符串 (基于文本的信息)可以传递给变量。
下面的主要规则可能有助于理解 Velocity 是如何工作的:引用以
$开头用于取得什么东西,而指令以#
开始用于做什
么事情。
在上面的例子中,
#set
用于将一个值指派给一个变量。而变量
$a
则可以用来在模板中输出"Velocity"
5. Hello Velocity World!
一旦一个值被赋给一个变量,便可以在 HTML 中随处引用它。在下面的示例中,先给变量
$foo
赋值然后引用它。
<html>
<body>
#set( $foo = "Velocity" )
Hello $foo World!
</body>
<html>
这个页面的结果是输出"Hello Velocity World!"
为了使包含 VTL 指令的语句具有可读性,我们鼓励每个 VTL 语句在一个新行开始,虽然并不一定要这样做。
set
随后深入解释。
6. 注释
可以用注释加入描述性文本,他们并不在模板引擎中输出。注释可以有助于你的记忆或者想其他人解释你的 VTL 语句
正在做什么。
## This is a single line comment.
单行注释以
##
开始,并在本行结束。如果需要加入多行注释,并不需要加入很多的单行注释。多行注释,以
#*
开始
of 21
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜