码迷,mamicode.com
首页 > Web开发 > 详细

asp.net的Nelocity模板引擎

时间:2015-04-09 19:44:10      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

在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

asp.net的Nelocity模板引擎

标签:

原文地址:http://www.cnblogs.com/niexianxue/p/4410439.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!