Velocity学习笔记2——Velocity能够做什么

翻译 2006年05月24日 11:06:00
            一个泥土商店的例子:
            假设你是一个页面设计人员,为一个专门卖泥土的网上商店工作。我们把这个商店取名叫“网上泥土店”。这个店的业务是兴旺的。不同的顾客会购买不同的种类和数量的泥土。他们使用用户名和密码登录你的网站,这允许他们浏览他们自己的订单或者购买更多的泥土。 现在,有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学习笔记

  • 2011年05月04日 15:38
  • 50KB
  • 下载

Velocity学习笔记----foreach双重循环遍历list

#set($list1=[{"asd": "appColumnManage","dbcol_ext_template_param": [{"param_key":"location_2","param...
  • sdmjhca
  • sdmjhca
  • 2017年05月24日 16:24
  • 623

Velocity制作动画序列学习笔记

1、基本配置属性 duration、easing、queue、begin、progress、complete、display、visibility、loop、delay、mobile...

Velocity学习笔记1

Velocity是什么?          Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language...
  • hil2000
  • hil2000
  • 2012年10月20日 21:53
  • 794

Velocity模板技术学习笔记

基本语句语法可以查看https://www.ibm.com/developerworks/cn/java/j-lo-velocity1/HelloVelocity.javapublic class H...

Velocity学习笔记

一、jar包 现在越来越多的项目开始使用Velocity作为view,velocity的一些jar包如下: 1、velocity-1.5.jar   包含了veloctiy运行时需要的类 2...

velocity学习笔记

Velocity Notes 变量名 $name为空时打印变量本身。$!name为空时打印空字符串(不打印任何内容)。${name}类似 $name,为空时原样打印。但可以将变量和连续的字符串分隔,...

Velocity 学习笔记

Velocity是一个基于java的模板引擎(template engine),它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。作为一个比较完善...

velocity学习笔记-基础

 Velocity是一个基于java的模板引擎(template engine),它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。作为一个...

Velocity学习2之Context

1.The Basics 'context' 是Velocity 中的一个核心概念, 这是一个从系统的”数据容器(a container of data)”引出的一个常见概念. 这里...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Velocity学习笔记2——Velocity能够做什么
举报原因:
原因补充:

(最多只允许输入30个字)