NVelocity模板引擎

2022-01-11 12:06:51 字數 2031 閱讀 6975

簡介

nvelocity是乙個基於.net的模板引擎(template engine)。它允許任何人僅僅簡單的使用模板語言(template language)來引用由.net**定義的物件。

語法

#include("head.htm") //引入檔案

#parse("head.htm") //引入檔案,與include不同的是,parse可以解析檔案中的物件

#set ($age =20) //定義乙個age變數,並通過set賦值

$age //展示變數age

//簡單判斷              

#if($age>10)

懵懂騷年

#else

花樣年華

#end

//複雜判斷

#if( $age > 5 && $age <= 10 )

學英語,so easy!

#elseif( $age > 10 && $age <= 16)

作業多,怎麼辦

#elseif( $age > 16 && $age <= 19)

化學難!

#else

後來我們開始懷念上學了!

#end

//通過foreach迴圈遍歷集合元素

#foreach($p in $model.persons)

$p.name //姓名

$p.age //年齡

$p.phone //手機號

#end

nvelocity配合一般處理程式(簡單使用)

姓名

年齡手機號碼

#foreach($p in $model.persons) //通過$model.persons迴圈生成tr中內容

}var data = new ; //將list繫結到匿名類的persons屬性

velocityengine vltengine = new velocityengine(); //初始化nveloity

vltengine.setproperty(runtimeconstants.resource_loader, "file");

vltengine.init();

velocitycontext vltcontext = new velocitycontext(); //nvelocity上下文

//給資料data指定乙個key為"model",在模板頁(檢視)中$model,通過put方法放入nvelocitycontext中

vltcontext.put("model", data);

template vlttemplate = vltengine.gettemplate("test.htm"); //獲取模板所在的路徑和檔名(相對於指定模板資料夾的位置)

stringwriter vltwriter = new stringwriter();

vlttemplate.merge(vltcontext, vltwriter); //內部通過render解析遍歷「model」

string htm = vltwriter.getstringbuilder().tostring();

context.response.write(htm);

}

}

//聯絡人

public class person

public int age

public string phone

}

總結

1.通過nvelocity可以讓我們頁面設計人員可以只關注頁面的顯示效果,而又可以讓我們.net程式開發人員關注業務邏輯實現,為後期維護也提供很大的便利性;

2.nvelocity和一般處理程式相結合,可以避免複雜的aspx頁面生命週期;

NVelocity模板引擎

因此決定自學一下nvelocity的使用 拋開monorail 安裝後,在其下的bin目錄中可找到nvelocity.dll net專案中將用到 並將其複製出來放到我的測試web bin目錄下。到castleproject上看了一下using it大致有四步 先要引入以下命名空間 using com...

NVelocity 模板引擎筆記

模板引擎載入 velocityengine vltengine new velocityengine vltengine.setproperty runtimeconstants.resource loader,file vltengine.init velocitycontext vltconte...

模板引擎Nvelocity例項

最近一直忙於工作,沒時間來管理部落格,同時電腦也不給力,壞了一陣又一陣,最後還是去給修理了,這不剛一回來迫不及待的就寫一篇文章來滿足兩個月未寫部落格的緊迫感。關於nvelocity就不再過多介紹,這樣的文章已經太多太多,我只是將其封裝起來用用,其中遇到的問題也會在其中一一進行講解。為什麼會用到該模板...