天天看點

使用NVelocity生成内容的幾種方式

使用NVelocity也有幾個年頭了,主要是在我的代碼生成工具Database2Sharp上使用來生成相關代碼的,不過NVelocity是一個非常不錯的模闆引擎,可以用來生成檔案、頁面等相關處理,非常高效和友善。

我在早期幾篇文章也介紹過NVelocity的使用,主要介紹了NVelocity的文法和邏輯的和使用,還有就是如何在實際項目中進行的内容動态生成的操作,有興趣可以翻下下面幾篇文章:

<a href="http://www.cnblogs.com/wuhuacong/archive/2007/11/17/962172.html">強大的模闆引擎開源軟體NVelocity</a>

使用NVelocity生成内容的幾種方式

從上面的圖示,我們可以看到,NVelocity的模闆化生成包含了3種方式,一種是從檔案到檔案或者字元串,一種是從字元串到字元串,他們各自的處理方式有所不同,但是都能正确解析裡面的内容。

為了更好利用NVelocity的特性,我們對它進行一個初步的輔助類封裝。

 上面的AddKeyValue方法,主要用來為模闆引擎添加一些需要綁定在頁面上的變量對象,這樣頁面變量參數的内容就能正确解析出來了。

為了使用NVelocity的各種特性,我們需要在輔助類裡面構造模闆的相關資訊,設定相關參數。

在生成内容之前,需要把相關的對象屬性綁定到模闆引擎的上下文對象裡面。

1)根據模闆檔案構造對應的檔案内容

2)根據模闆檔案構造字元串内容

3)根據字元串内容構造字元串輸出

上面幾種操作模闆輸出的方式,其調用代碼如下所示。

 上面的幾種操作模闆内容的方式,能夠在絕大多數情況下滿足我們的應用要求,如可以在代碼生成工具裡面,定義一些自定義的内容模闆,然後結合資料庫的中繼資料資訊,實作豐富邏輯的代碼生成操作。

使用NVelocity生成内容的幾種方式

也可以在一些内容管理的應用上(如文章管理方面),根據輸入的内容,實作文章内容的檔案生成操作,這個生成後,我們就直接使用文章的檔案連結位址就可以了。

使用NVelocity生成内容的幾種方式

或者根據資料資訊生成具體的頁面,用于套打操作,如下是Winform裡面的套打處理。

使用NVelocity生成内容的幾種方式
使用NVelocity生成内容的幾種方式