## 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的強大動力。
- 1. 關于
- 2. 什么是Velocity?
- 3. Velocity 可以做什么?
- 3.1. Mud Store 示例
- 4. Velocity模板語言(VTL): 介紹
- 5. Hello Velocity World!
- 6. 注釋
- 7. 引用
- 7.1. 變量Variables
- 7.2. 屬性
- 7.3. 方法
- 8. 形式引用符Formal Reference Notation
- 9. 安靜引用符Quiet Reference Notation
- 11. Case Substitution
- 12. 指令
- 12.1. #set
- 12.2. 字面字符串
- 12.3. 條件
- 12.3.1 If / ElseIf / Else
- 12.3.2 關系和邏輯操作符
- 12.4. 循環
- 12.4.1. Foreach 循環
- 12.5. 包含
- 12.6. 解析
- 12.7. 停止
- 12.10. 宏
- 12.10.1. Velocimacro 參數
- 12.10.2. Velocimacro 屬性
- 12.10.3. Velocimacro Trivia
- 13. Getting literal
- 13.1. 貨幣字符
- 13.2. 轉義 有效的 VTL 指令
- 13.3. 轉義 無效的 VTL 指令
- 14. VTL 格式化問題
- 15. 其它特征和雜項
- 15.1. 數學特征
- 15.2. 范圍操作符
- 15.3. 進階:轉義和!
- 15.4. Velocimacro 雜記
- 15.5. 字符串聯