1. 程式人生 > >Velocity官方指南-Velocity是如何工作的

Velocity官方指南-Velocity是如何工作的

原文網址  譯者:方騰飛

基本模式

當你在一個應用程式或者一個servlet裡,或者在其他任何一個地方使用Velocity時,通常按照如下方式處理:

  1. 初始化Velocity。Velocity可以使用兩種模式,作為“單獨的執行時例項”的單例模式(在下面的內容會介紹),你僅僅只需要初始化一次。
  2. 建立一個Context物件(後面會介紹這是什麼)。
  3. 把你的資料物件新增到Context(上下文)。
  4. 選擇一個模板。
  5. ‘合併’ 模板和你的資料輸出。

在程式碼裡通過org.apache.velocity.app.Velocity類使用單例模式,程式碼如下:

import java.io.StringWriter;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.Template;
import org.apache.velocity.app.Velocity;
import org.apache.velocity.exception.ResourceNotFoundException;
import org.apache.velocity.exception.ParseErrorException;
import org.apache.velocity.exception.MethodInvocationException;

Velocity.init();

VelocityContext context = new VelocityContext();

context.put( "name", new String("Velocity") );

Template template = null;

try
{
   template = Velocity.getTemplate("mytemplate.vm");
}
catch( ResourceNotFoundException rnfe )
{
   // couldn't find the template
}
catch( ParseErrorException pee )
{
  // syntax error: problem parsing the template
}
catch( MethodInvocationException mie )
{
  // something invoked in the template
  // threw an exception
}
catch( Exception e )
{}

StringWriter sw = new StringWriter();

template.merge( context, sw );

這是個基本的模式,它非常簡單,不是嗎?當你使用Velocity渲染一個模板的時候,通常會發生什麼。你可能不會完全像這樣寫程式碼,所以我們提供幾個工具類幫助你寫程式碼。然而, 無論如何,按照上面的序列使用Velocity,它向我們展示了臺前幕後發生了什麼。


方 騰飛

花名清英,併發網(ifeve.com)創始人,暢銷書《Java併發程式設計的藝術》作者,螞蟻金服技術專家。目前工作於支付寶微貸事業部,關注網際網路金融,併發程式設計和敏捷實踐。微信公眾號aliqinying。