.Net 使用NVelocity模板

1、NVelocity是什么?

答: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<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());

时间: 2024-07-28 21:43:24

.Net 使用NVelocity模板的相关文章

只需一句话就能搞定NVelocity模板引擎,源码+解析+文档+资料+注释

好长时间不发技术方面的动态了,今天无聊就发篇关于NVelocity的技术文章吧,这门技术来源于java开源项目Velocity,比较好用,其他的我也不过多介绍了,没听过的在文章末尾会有介绍,下面我们就实战吧~ 咱们直接上最简单的方法,一句话搞定: DNTNvelocityHelper.NvelocityTemplate(context.Request.MapPath("~/NVelocity/templates/"), context, "Templater_index.dn

Asp.net动态页面静态化之初始NVelocity模板引擎

Asp.net动态页面静态化之初始NVelocity模板引擎 静态页面是网页的代码都在页面中,不须要运行asp,php,jsp,.net等程序生成client网页代码的网页,静态页面网址中一般不含"?"."="."&"等特殊符号. 静态页面不能自主管理公布更新的页面,假设想更新网页内容,要通过FTP软件把文件DOWN下来用网页制作软件改动(通过fso等技术例外) 常见的静态页面举例:.html扩展名的..htm扩展名的. 注意:静态页面并

WebPart中使用Nvelocity模板引擎来进行呈现

WebPart中使用Nvelocity模板引擎来进行呈现 分类: SharePoint2011-06-15 08:29 1479人阅读 评论(1) 收藏 举报 模板引擎encodingsharepointxml测试css NVelocity是一套强大的模板引擎,在我之前的随笔中,有过使用它来呈现页面及生成静态页的例子.通过使用它,我们可以达到界面与数据的完成分离(当然需要一些设计手段来支持).我在公司里的工作主要就是在office sharepoint2007的基础上进行一些类型信息系统的门户站

Nvelocity模板引擎

A.nVelocity是一个基于.NET的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由.NET代码定义的对象.页面设计人员可以只关注页面的显示效果,而由.NET程序开发人员关注业务逻辑编码. B.模板引擎处理流程:编写模板->处理数据->渲染HTML. C.Nvelocity下载地址:http://www.castleproject.org/download/ D.一个简单的示例: 新建一个Application,

NVelocity模板引擎在项目中的应用

NVelocity是一个基于.NET的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由.NET代码定义的对象.至于其他的一些别的NVelocity的的解释.和一些用法这里就不在提及. 具体的使用方法: 1,定义Velocity辅助类(VelocityHelper.cs) 提供下载  当然,这个辅助类需要添加NVelocity.dll的引用. 2,aspx页面和Template的结构说明 这个其实是需要根据个人喜好来定!为

aspx NVelocity 模板使用

1.新建webform项目 2.引用NVelocity.dll 3.添加UserInfo.aspx,并删除其中的代码,只留第一句话 4.添加实体类 public class UserInfoEntity { public int UserId { get; set; } public string UserName { get; set; } } 5.在UserInfo.aspx.cs的load中写 using System; using System.Collections.Generic;

使用模板引擎(Nvelocity)写代码生成器

之前做了一个项目,由于数据库表比较多,每次都手写model,还有数据库操作之类的东西,感觉浪费时间,也没技术含量,还容易出错,最主要的原因还是懒,不想翻来覆去的写这种代码,于是想到要用代码生成器直接生成,在网上找到很多,但是生成的代码要么看着不安逸,毕竟每个人的风格不同,要么就是生成很多自己根本不需要的垃圾代码,正好最近闲来无事,决定自己动手写一个. 一开始我是想到使用stringbuilder拼接字符串来实现,但是字符串拼接起来相当麻烦,代码量也很多,看起乱糟糟的很不舒服,还有就是得注意格式,

C#模板引擎NVelocity实战项目演练

一.背景需求 很多人在做邮件模板.短信模板的时候,都是使用特殊标识的字符串进行占位,然后在后台代码中进行Replace字符串,如果遇到表格形式的内容,则需要在后台进行遍历数据集合,进行字符串的拼接,继而Replace模板中的占位符 !今天给大家分享一个WinForm方面的模板引擎的小技巧和小技能吧,本次课程阿笨给大家分享关于WinForm开发中如何通过模板引擎NVelocity根据动态数据生成漂亮的订单详细查看页面? 1.1.本次分享课程包含知识点如下: 1).WinForm中WebBrowse

NVelocity 实现简单的留言板

留言版简单实现 ----------------------------------------------------------------------------------------------------------------------------------- 项目截图: 1,新建留言板数据库:LiuYanbanDB USE [LiuYanbanDB] GO /****** Object: Table [dbo].[LiuYan] Script Date: 2015/5/15