Velocity官方指南-Velocity是如何工作的
阿新 • • 發佈:2018-12-22
原文網址 譯者:方騰飛
基本模式
當你在一個應用程式或者一個servlet裡,或者在其他任何一個地方使用Velocity時,通常按照如下方式處理:
- 初始化Velocity。Velocity可以使用兩種模式,作為“單獨的執行時例項”的單例模式(在下面的內容會介紹),你僅僅只需要初始化一次。
- 建立一個Context物件(後面會介紹這是什麼)。
- 把你的資料物件新增到Context(上下文)。
- 選擇一個模板。
- ‘合併’ 模板和你的資料輸出。
在程式碼裡通過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,它向我們展示了臺前幕後發生了什麼。