.Net使用NVelocity模板-创新互联

1、NVelocity是什么?

10年积累的网站制作、成都做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有汉南免费网站建设让你可以放心的选择与我们合作。

答:NVelocity是一个基于.NET的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由.NET代码定义的对象。

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

答:当NVelocity 应用于Web开发时,界面设计人员和.NET程序开发人员同步开发一个遵守MVC架构的Web站点,也就是说页面设计人员可以只关注页面的显示效果,而 由.NET 开发人员关注业务逻辑编码。NVelocity将.NET 代码从Web界面中分离出来,这样为Web站点的长期维护提供了方便,同时也为我们在aspx之外又提供了一种可选方案。

NVelocity的能力远不止Web站点开发这个领域,例如:它可以从模板(template)产生SQL和PostScript、XML,它也可以被当作一个独立的工具来产生源代码和报告,或者作为其他系统的集成组件使用。

nVelocity也可以为很多web开发架构提供模板服务(template service)。我们的系统就提供一个模板服务的方式允许一个web应用以一个真正的MVC模型进行开发。

3、我们如何使用NVelocity?

.Net之NVelocity的三种用法 【转】

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 listAssembly = new List();
        // 添加程序集名称
        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" +
            "" +
            "NameSexCity" +
            "#each"r"n" +
            "" +
            "$u.Name" +
            "$u.Sex" +
            "$u.City" +
            "" +
            "#afterall"r"n" +
            "" +
            "#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());

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


文章标题:.Net使用NVelocity模板-创新互联
标题URL:http://azwzsj.com/article/dgdpic.html