1、NVelocity是什么?

專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、做網(wǎng)站服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)新林免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了超過千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
答:NVelocity是一個基于.NET的模板引擎(template engine).它允許任何人僅僅簡單的使用模板語言(template language)來引用由.NET代碼定義的對象。
2、NVelocity有什么作用(有什么裨益)?
答:當(dāng)NVelocity 應(yīng)用于Web開發(fā)時,界面設(shè)計人員和.NET程序開發(fā)人員同步開發(fā)一個遵守MVC架構(gòu)的Web站點,也就是說頁面設(shè)計人員可以只關(guān)注頁面的顯示效果,而 由.NET 開發(fā)人員關(guān)注業(yè)務(wù)邏輯編碼。NVelocity將.NET 代碼從Web界面中分離出來,這樣為Web站點的長期維護提供了方便,同時也為我們在aspx之外又提供了一種可選方案。
NVelocity的能力遠(yuǎn)不止Web站點開發(fā)這個領(lǐng)域,例如:它可以從模板(template)產(chǎn)生SQL和PostScript、XML,它也可以被當(dāng)作一個獨立的工具來產(chǎn)生源代碼和報告,或者作為其他系統(tǒng)的集成組件使用。
nVelocity也可以為很多web開發(fā)架構(gòu)提供模板服務(wù)(template service)。我們的系統(tǒng)就提供一個模板服務(wù)的方式允許一個web應(yīng)用以一個真正的MVC模型進行開發(fā)。
3、我們?nèi)绾问褂肗Velocity?
using NVelocity;
using NVelocity.App;
using NVelocity.Runtime;
VelocityEngine vltEngine = new VelocityEngine();
vltEngine.SetProperty(RuntimeConstants.RESOURCE_LOADER, "file");
vltEngine.SetProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH, Server.MapPath("~/Template/"));
vltEngine.Init();
VelocityContext vltContext = new VelocityContext();
vltContext.Put("PageTitle", "文件模板例子");
vltContext.Put("ListUsers", listUsers);
Template vltTemplate = vltEngine.GetTemplate("Default.htm");
System.IO.StringWriter vltWriter = new System.IO.StringWriter();
vltTemplate.Merge(vltContext, vltWriter);
Response.Write(vltWriter.GetStringBuilder().ToString());
NVelocity使用資源文件模板例子
例子下載
using NVelocity;
using NVelocity.App;
using NVelocity.Runtime;
IList<string> listAssembly = new List<string>();
// 添加程序集名稱
listAssembly.Add("LibTest");
VelocityEngine vltEngine = new VelocityEngine();
vltEngine.SetProperty(RuntimeConstants.RESOURCE_LOADER, "assembly");
vltEngine.SetProperty("assembly.resource.loader.class", "NVelocity.Runtime.Resource.Loader.AssemblyResourceLoader; NVelocity"); // 固定寫法- -!
vltEngine.SetProperty("assembly.resource.loader.assembly", listAssembly);
vltEngine.Init();
VelocityContext vltContext = new VelocityContext();
vltContext.Put("PageTitle", "資源模板例子");
vltContext.Put("ListUsers", listUsers);
Template vltTemplate = vltEngine.GetTemplate("LibTest.Resources.Default.htm");
System.IO.StringWriter vltWriter = new System.IO.StringWriter();
vltTemplate.Merge(vltContext, vltWriter);
Response.Write(vltWriter.GetStringBuilder().ToString());
NVelocity使用字符串模板例子
例子下載
using NVelocity;
using NVelocity.App;
using NVelocity.Runtime;
System.Text.StringBuilder builder = new System.Text.StringBuilder();
builder.Append("#foreach(uinListUsers)"r"n" +
"#beforeall"r"n" +
"<table border=""0"" cellpadding=""10"" cellspacing=""10"">" +
"<tr><td>Name</td><td>Sex</td><td>City</td></tr>" +
"#each"r"n" +
"<tr>" +
"<td>$u.Name</td>" +
"<td>$u.Sex</td>" +
"<td>$u.City</td>" +
"</tr>" +
"#afterall"r"n" +
"</table>" +
"#nodata"r"n" +
"暫無用戶資料"r"n" +
"#end");
VelocityEngine vltEngine = new VelocityEngine();
vltEngine.Init();
VelocityContext vltContext = new VelocityContext();
vltContext.Put("PageTitle", "字符串模板例子");
vltContext.Put("ListUsers", listUsers);
System.IO.StringWriter vltWriter = new System.IO.StringWriter();
vltEngine.Evaluate(vltContext, vltWriter, null, builder.ToString());
Response.Write(vltWriter.GetStringBuilder().ToString());
本文標(biāo)題:.Net使用NVelocity模板
當(dāng)前URL:http://www.chinadenli.net/article10/geipgo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、網(wǎng)站內(nèi)鏈、網(wǎng)站設(shè)計、App設(shè)計、定制開發(fā)、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)