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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。