使用nvelocity也有幾個年頭了,主要是在我的**生成工具database2sharp上使用來生成相關**的,不過nvelocity是乙個非常不錯的模板引擎,可以用來生成檔案、頁面等相關處理,非常高效和方便。
它原先是在** 上維護,不過從0.41後,該**就不再進行nvelocity更新了,現在可以在**上獲得最新版本的更新,接著版本的更新操作,我們把nvelocity的幾種生成檔案的操作介紹一下,以便大家進行更深入的了解。
強大的模板引擎開源軟體nvelocity
database2sharp版本更新之自定義模板生成
使用nvelocity0.5實現伺服器端頁面自動生成
從上面的圖示,我們可以看到,nvelocity的模板化生成包含了3種方式,一種是從檔案到檔案或者字串,一種是從字串到字串,他們各自的處理方式有所不同,但是都能正確解析裡面的內容。
為了更好利用nvelocity的特性,我們對它進行乙個初步的輔助類封裝。
///上面的addkeyvalue方法,主要用來為模板引擎新增一些需要繫結在頁面上的變數物件,這樣頁面變數引數的內容就能正確解析出來了。///基於nvelocity的模板檔案生成輔助類
/// public
class
nvelocityhelper
return
this
; }
................
為了使用nvelocity的各種特性,我們需要在輔助類裡面構造模板的相關資訊,設定相關引數。
///在生成內容之前,需要把相關的物件屬性繫結到模板引擎的上下文物件裡面。///初始化模板引擎
/// protected
virtual
void
inittemplateengine()
catch
(resourcenotfoundexception re)
catch
(parseerrorexception pee)
}
///1)根據模板檔案構造對應的檔案內容///初始化上下文的內容
/// private
void
initcontext()
}
///2)根據模板檔案構造字串內容///根據模板建立輸出的檔案,並返回生成的檔案路徑
/// public
virtual
string
executefile()
"class file output path:", filename));
initcontext();
using (streamwriter writer = new streamwriter(filename, false
))
}return
filename;
}
///3)根據字串內容構造字串輸出///根據模板輸出字串內容
/// ///
///public
string
executestring()
///上面幾種操作模板輸出的方式,其呼叫**如下所示。///合併字串的內容
/// ///
public
string executemergestring(string
inputstring)
privatevoid btngeneratefile_click(object
sender, eventargs e)
}
privatevoid btngenerate_click(object
sender, eventargs e)
private上面的幾種操作模板內容的方式,能夠在絕大多數情況下滿足我們的應用要求,如可以在**生成工具裡面,定義一些自定義的內容模板,然後結合資料庫的元資料資訊,實現豐富邏輯的**生成操作。void btnmergestring_click(object
sender, eventargs e)
\r\n
" + "
$content\r\n
" + "
$digest\r\n
" + "
$author\r\n
" + "
$keyword\r\n
" + "
$datetime\r\n");
nvelocityhelper adapter = new
nvelocityhelper();
adapter.addkeyvalue(
"title
", "標題"
). addkeyvalue(
"content
", "內容"
). addkeyvalue(
"digest
", "摘要"
). addkeyvalue(
"author
", "作者"
). addkeyvalue(
"keyword
", "").
addkeyvalue(
"datetime
", datetime.now);
this.txtcode.text =adapter.executemergestring(builder.tostring());
}
或者根據資料資訊生成具體的頁面,用於套打操作,如下是winform裡面的套打處理。
使用NVelocity 翻譯
原文參見 有的地方並不是全文對照翻譯,只是意譯 這是乙個非常基本的nvelocity的使用說明。nvelocity可以把模板和資料動態合併 不光是monorail的web頁面可以使用,其他諸如傳送郵件等也可以使用 為了演示簡單,下面的例子我們使用乙個郵件的模板 第一步 生成velocityengin...
NVelocity標籤使用詳解
使用步驟。a 建立velocity 引擎 velocityengine 並設定屬性.b velocitycontext 上下文物件建立於設定.c 使用velocityengine velocity 引擎 建立模板 template d 合併模板和上下文物件 輸出.演示。先引入nvelocity.dl...
NVelocity標籤使用詳解
本文目錄 二 使用 三 演示。二 使用步驟。a 建立velocity 引擎 velocityengine 並設定屬性.b velocitycontext 上下文物件建立於設定.c 使用velocityengine velocity 引擎 建立模板 template d 合併模板和上下文物件 輸出.三...