.Net使用NVelocity模板

1、NVelocity是什么?

專(zhuān)注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)新林免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了超過(guò)千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

答:NVelocity是一個(gè)基于.NET的模板引擎(template engine).它允許任何人僅僅簡(jiǎn)單的使用模板語(yǔ)言(template language)來(lái)引用由.NET代碼定義的對(duì)象。

2、NVelocity有什么作用(有什么裨益)?

答:當(dāng)NVelocity 應(yīng)用于Web開(kāi)發(fā)時(shí),界面設(shè)計(jì)人員和.NET程序開(kāi)發(fā)人員同步開(kāi)發(fā)一個(gè)遵守MVC架構(gòu)的Web站點(diǎn),也就是說(shuō)頁(yè)面設(shè)計(jì)人員可以只關(guān)注頁(yè)面的顯示效果,而 由.NET 開(kāi)發(fā)人員關(guān)注業(yè)務(wù)邏輯編碼。NVelocity將.NET 代碼從Web界面中分離出來(lái),這樣為Web站點(diǎn)的長(zhǎng)期維護(hù)提供了方便,同時(shí)也為我們?cè)赼spx之外又提供了一種可選方案。

NVelocity的能力遠(yuǎn)不止Web站點(diǎn)開(kāi)發(fā)這個(gè)領(lǐng)域,例如:它可以從模板(template)產(chǎn)生SQL和PostScript、XML,它也可以被當(dāng)作一個(gè)獨(dú)立的工具來(lái)產(chǎn)生源代碼和報(bào)告,或者作為其他系統(tǒng)的集成組件使用。

nVelocity也可以為很多web開(kāi)發(fā)架構(gòu)提供模板服務(wù)(template service)。我們的系統(tǒng)就提供一個(gè)模板服務(wù)的方式允許一個(gè)web應(yīng)用以一個(gè)真正的MVC模型進(jìn)行開(kāi)發(fā)。

3、我們?nèi)绾问褂肗Velocity?

.Net之NVelocity的三種用法 【轉(zhuǎn)】

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>();
        // 添加程序集名稱(chēng)
        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"); // 固定寫(xiě)法- -!
        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" +
            "暫無(wú)用戶(hù)資料"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://bm7419.com/article10/geipgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、網(wǎng)站內(nèi)鏈、網(wǎng)站設(shè)計(jì)App設(shè)計(jì)、定制開(kāi)發(fā)、品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)