一个泥土商店的例子:
假设你是一个页面设计人员,为一个专门卖泥土的网上商店工作。我们把这个商店取名叫“网上泥土店”。这个店的业务是兴旺的。不同的顾客会购买不同的种类和数量的泥土。他们使用用户名和密码登录你的网站,这允许他们浏览他们自己的订单或者购买更多的泥土。 现在,有Terracotta土出售,而且这种泥土很受欢迎。而你的少数用户则会有规律的购买Bright Red泥土。这种泥土虽然不象Terracotta泥土那样受欢迎,而且通常位于你的web页面的边缘,但是也有出售。每个用户的信息都被记录在数据库中。 有一天,事情来了。为什么不用Velocity来达到对每个用户最感兴趣的泥土做一个特殊的处理的目的呢。
作为一个网上泥土店的网站设计人员,你希望用户登录你的网站之后能够看到一些客户化的信息。Velocity使得对你的web页面根据登录的用户做客户化的处理很容易。
和软件工程师沟通之后,达成的协议:
1.当前登录用户的信息会放在一个叫做$customer的引用中。
2.引用$mudsOnSpecial包含所有当作在销售的泥土的信息。
3.引用$flogger会包含一个可以获取帮助信息的方法。
现在,是我们实现任务的时候了。记住,我们不用担心这软件工程师如何从数据库中抽取数据。我们只需要关注这3个引用。现在,让我们进行自己的工作。
你可以在web页面中包含以下的VTL语句(VTL:Velocity Template Language, Velocity模版语言;这个会在以后做详细的介绍)。
<HTML>
<BODY>
Hello $customer.Name!
<table>
#foreach( $mud in $mudsOnSpecial )
#if ( $customer.hasPurchased($mud) )
<tr>
<td>
$flogger.getPromo( $mud )
</td>
</tr>
#end
#end
</table>
上面用到的VTL会在后面做深入的介绍,现在我们需要关心的是这一段代码在web页面上有什么影响。
当一个对Bright Red泥土感兴趣的顾客登录的时候,并且Bright Red泥土还在销售,那么Bright Red泥土的信息就会显示出来。当另外一个长期定购Terracotta泥土的顾客登录的时候,Terracotta泥土的信息就会显示出来(可能是一个打折的信息)。
Velocity的非常灵活的,唯一的限制是你的创造力。(王婆卖瓜,自卖自夸哈)
分享到:
相关推荐
### Velocity学习笔记精要 **一、Velocity简介与特点** Velocity是一种基于Java的模板引擎,用于将静态数据和动态内容结合在一起,生成最终的HTML、XML或其他格式的文档。其最大的特点是性能高、易于理解和使用,...
在Java世界中,Velocity常被用来作为MVC框架中的视图层技术,与Struts2等框架集成,以实现更灵活的页面渲染。 在Struts2框架中整合Velocity,首先需要确保引入了必要的依赖库。根据提供的标签和部分内容,这些库...
### Velocity 语法笔记 #### 一、Velocity 概述与基本用法 Velocity 是一个基于 Java 的模板引擎,主要用于 Web 应用程序中生成动态页面。它提供了丰富的语法支持,使得开发者可以更轻松地处理数据并将其转换为...
【Velocity学习Web项目】 Velocity是Apache软件基金会的一个开源项目,它是一个基于Java的模板引擎,用于生成动态网页内容。在J2EE环境中,Velocity经常与Struts等MVC框架结合使用,以提供更加灵活和高效的视图层...
在Struts2中整合Velocity还需要配置Velocity相关的依赖,确保项目中包含Velocity Engine库,并在Struts2的配置中指定Velocity工具库: ```xml <constant name="struts.velocity.properties" value="/WEB-INF/...
NULL 博文链接:https://twb.iteye.com/blog/265761
【Velocity模板语言(VTL)详解】 Velocity模板语言(Velocity Template Language, VTL)是Apache ...Velocity模板语言的简洁性和易学性使得非程序员也能快速上手,提高开发效率,同时保持了代码的清晰和可维护性。
在这个“velocity学习资料.zip”压缩包中,可能包含了关于Velocity的基本概念、语法、最佳实践以及一些示例代码,帮助初学者或有经验的开发者更好地理解和应用Velocity。 Velocity的工作原理基于MVC(Model-View-...
2. **简洁语法**:Velocity的语法简单直观,类似于XML的注释形式,易于学习和使用。 3. **高性能**:相比JSP,Velocity的解析速度更快,因为它不包含任何服务器端的执行环境,减少了服务器的负担。 4. **可扩展性**...
Struts2和Velocity是两种广泛应用于Java Web开发的技术。Struts2是一个强大的MVC(Model-View...通过实践这个实例,你可以深入学习到如何在Struts2中使用Velocity模板来构建动态网页,进一步提升你的Java Web开发技能。
Velocity的主要优点在于其简单易用和高度可扩展性,使得开发者能够将业务逻辑与表现层分离,提高代码的可读性和维护性。以下是关于这三个JAR文件的详细知识点: 1. **velocity-1.5.jar**: 这是Velocity的1.5版本...
2. **Velocity语法** - **变量引用**: 变量以`$`符号开头,如`$name`。 - **逻辑控制**: `#if`, `#else`, `#elseif`用于条件判断;`#foreach`用于循环遍历集合。 - **方法调用**: 可以在模板中直接调用对象的方法...
** Velocity简介 ** Velocity是Apache软件基金会下的一个开源项目,它是一个基于Java的模板引擎,主要用在Web应用中生成动态内容。Velocity通过简单的语法,将业务...希望这份资料能帮助你更好地学习和应用Velocity。
例如,Eclipse的Velocity IDE插件能够帮助开发者在编写模板时得到实时的语法反馈。 ** 安装方法** 1. **Maven插件**: 在`pom.xml`文件中添加Velocity Maven插件的相关配置,然后通过Maven的`install`命令来构建项目...
2. 什么是Velocity? Velocity是一个基于Java的模版引擎。它允许web 页面设计者引用JAVA代码预定义的方法。Web 设计者可以根据MVC模式和JAVA程序员并行工作,这意味着Web设计者可以单独专注于设计良好的站点,而...
标题“velocity和freemarker的比较”涉及到的是两个在Java Web开发中常用的模板引擎——Velocity和FreeMarker。它们都是用于将静态模板与动态数据结合,生成HTML或其他类型的文本输出,常用于MVC(模型-视图-控制器...
通过以上步骤,你就能构建一个基本的Struts2整合Velocity的项目。请注意,实际项目可能还需要考虑错误处理、国际化、缓存策略等更多细节。在不断实践和学习中,你可以掌握这个组合的更多高级用法,比如使用Velocity ...