A、nVelocity是一个基于.NET的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由.NET代码定义的对象。页面设计人员可以只关注页面的显示效果,而由.NET程序开发人员关注业务逻辑编码。
B、模板引擎处理流程:编写模板->处理数据->渲染HTML。
C、Nvelocity下载地址:http://www.castleproject.org/download/
D、一个简单的示例:
新建一个Application,在项目中添加Nvelocity的引用,然后添加新建项,选择一般处理程序,命名为login.ashx,在ProcessRequest方法里写下面代码:
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/html"; //是否载入 string ispostback = context.Request["ispostback"]; if (string.IsNullOrEmpty(ispostback)) { //创建NVelocity实例对象 VelocityEngine vltEngine = new VelocityEngine(); vltEngine.SetProperty(RuntimeConstants.RESOURCE_LOADER, "file"); //模板存放目录 vltEngine.SetProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH, HostingEnvironment.MapPath("/template")); vltEngine.Init(); //定义一个模板上下文 VelocityContext vltContext = new VelocityContext(); //传入模板所需要的参数 vltContext.Put("username", ""); vltContext.Put("password", ""); vltContext.Put("msg", "载入"); //获取我们刚才所定义的模板,上面已设置模板目录 Template vltTemplate = vltEngine.GetTemplate("login.htm"); //根据模板的上下文,将模板生成的内容写进刚才定义的字符串输出流中 StringWriter vltWriter = new StringWriter(); vltTemplate.Merge(vltContext, vltWriter); string html = vltWriter.GetStringBuilder().ToString(); context.Response.Write(html); } }