asp.net的Nelocity模板引擎

在asp开发中,时常遇到向程序中写入HTML代码的情况,以在ashx中写入HTML为例,演示Nvelocity的使用,

 1 VelocityEngine vltEngine = new VelocityEngine();
 2                 //文件型模板,还可以是 assembly ,则使用资源文件
 3                 vltEngine.SetProperty(RuntimeConstants.RESOURCE_LOADER, "file");
 4                 //模板存放目录
 5                 vltEngine.SetProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH,
 6                 System.Web.Hosting.HostingEnvironment.MapPath("/template"));//模板文件所在的文件夹,这里需要传入你的HTML代码的路径
 7                 vltEngine.Init();
 8                 //定义一个模板上下文
 9                 VelocityContext vltContext = new VelocityContext();
10                 //传入模板所需要的参数
11                 vltContext.Put("data", ""); //设置参数,将在HTML中通过$设置的value对象引入进来
12                 vltContext.Put("data", "");  //设置参数
13                 vltContext.Put("data", ""); //设置参数
14                 //获取我们刚才所定义的模板,上面已设置模板目录
15                 Template vltTemplate = vltEngine.GetTemplate("Login.htm");// 拿到HTML的文件名
16                 System.IO.StringWriter vltWriter = new System.IO.StringWriter();
17                 //根据模板的上下文,将模板生成的内容写进刚才定义的字符串输出流中
18                 vltTemplate.Merge(vltContext, vltWriter);
19                 string html = vltWriter.GetStringBuilder().ToString();
20                 context.Response.Write(html);

代码执行的过程是  先执行模板引擎,通过模板引擎去查找与之关联的HTML代码,也就是说,在运行程序的时候,不能通过HTML代码页来执行程序,只能通过ashx去执行

Nvelocity下载地址:http://ncu.dl.sourceforge.net/project/castleproject/NVelocity/1.1/CastleNVelocity-1.1.1.zip

时间: 2024-10-10 05:42:22

asp.net的Nelocity模板引擎的相关文章

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

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

asp.net正则模板引擎代码

我们申明一个数组 public static Regex[] r = new Regex[23]; 接下来关键的正则表达式: RegexOptions options = RegexOptions.None; //嵌套模板标签(兼容) r[0] = new Regex(@"<!--{template ((skin=\\""([^\[\]\{\}\s]+)\\""(?:\s+))?)src=(?:\/|\\"")([^\[\]\{\

ASP.NET 模板引擎 - NVelocity

1,HTML的Form表单数据按Button提交数据以后,提交到 Action 指定的服务器端处理程序(.ashx)进行处理后 ,再响应的浏览器. 2,我们把 HTML的表单,写到 .ashx 一般处理程序页面中,这样就一般处理程序页面就可以显示 Form表单登陆,并且可以处理是否登陆成功的逻辑部分,前台显示和后天业务逻辑整合到了一起,如下: public void ProcessRequest(HttpContext context) { context.Response.ContentTyp

mustache模板引擎

Logic-less templates. github:http://mustache.github.com/ 文档:http://mustache.github.com/mustache.5.html http://mustache.github.io Java 版 Mustache SVN 源码 http://jmustache.googlecode.com/svn mustache 类似  freemark和valicity 模板引擎,不过mustache 更轻量级,支持语言: Ruby

jade模板引擎

jade是使用JavaScript实现,可供nodejs使用的高性能模板引擎(性能高不高,有些争议.姑且称之为高性能吧!).模板引擎有很多,主要使用比较广泛的是jade和ejs,modejs项目默认使用jade作为模板引擎,我也就不多说了至于如何选择,还是得就事论事综合各种因素来考虑.在此不对优缺点进行分析.插一句嘴,ejs的语法更像jsp.asp这样的技术而jade更像python的语法风格,缩进来缩进去,有点绕.不过这并不影响代码的可读性(我是这么认为的).不管是jade还是ejs语法都比较

Spring MVC 学习总结(七)——FreeMarker模板引擎与动态页面静态化

模板引擎可以让程序实现界面与数据分离,业务代码与逻辑代码的分离,这就提升了开发效率,良好的设计也使得代码复用变得更加容易.一般的模板引擎都包含一个模板解析器和一套标记语言,好的模板引擎有简洁的语法规则.强大的功能.高效的渲染效率.详尽的帮助说明与不断的更新与维护.常见的前端模板引擎有: 常用的java后台模板引擎:jsp.FreeMarker.Velocity等. 请不要迷恋速度,为了推广的测试可能是片面的,好的模板引擎经得起时间考验,建议大家选择成熟的.常用的模板引擎.另外不管前后端的模板引擎

.NET Core中使用Razor模板引擎

一.简介 在MVC以外的场景中,我们往往需要完成一些模板引擎生成代码或页面的工作:在以前我们一般常用的有Razor.NVeocity.VTemplate.虽然所有的模板系统都具有一些共同特征,但 Razor却和我们前面讨论的二种视图引擎截然不同.不同于其它视图引擎,Razor在使用XML代 码方面没有走得那么极端.它也不完全类似于ASPX,因为它把那些比较笨重的占位符替换成@符号接表达式或者普通的控制块.因为不需要特殊的结束标记,所 以Razor最终的代码很简练. 本篇介绍的主角是Razor,在

基于.NET的免费开源的模板引擎---VTemplate

最近在搞了一个微商城.弄了一个ZUCK多用户微信公众平台开发源码来玩下.接触到有模板引擎---VTemplate.网上搜了一下.学习中…先收藏… 本文来源于:http://www.cnblogs.com/kingthy/archive/2009/08/17/net-vtemplate.html 1.VTemplate模板引擎的简介 VTemplate模板引擎也简称为VT,是基于.NET的模板引擎,它允许任何人使用简单的类似HTML语法的模板语言来引用.NET里定义的对象.当VTemplate应用

JavaScript Template JST模板引擎----Trimpath [转]

官方网址:http://trimpath.com/project/wiki/JavaScriptTemplates Trimpath JavaScript 是个轻量级的,基于JavaScript的,跨浏览器,采用APL/GPL开放源代码协议的,可以让你轻松进行基于模板编程方式的纯JS引擎. 它有如下的特点:1.采用标准的JavaScript编写,支持跨浏览器 2.模板语法类似于:FreeMarker,Velocity,Smarty3.采用简易的语言来描述大段的字串以及Dom/DHTML操作 4.