模板引擎Nvelocity

模板引擎:为了页面的合成变得更加的方便
Nvelocity
Net
JSP:velocity,freemark
使用步骤:
1.在UI层中引入Nvelocity.dll程序集
 
匿名类对象 new{属性名=属性值。。。。。}
一般使用推断类型来储存创建的对象var
 
模板引擎代码:
 1 VelocityEngine vltEngine = new VelocityEngine();
 2 vltEngine.SetProperty(RuntimeConstants.RESOURCE_LOADER, "file");
 3 vltEngine.SetProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH, System.Web.Hosting.HostingEnvironment.MapPath("~/template"));
 4 vltEngine.Init();
 5 VelocityContext vltContext = new VelocityContext();
 6 vltContext.Put("errorMsg", "");
 7 Template vltTemplate = vltEngine.GetTemplate("template.html");
 8 System.IO.StringWriter vltWriter = new System.IO.StringWriter();
 9 vltTemplate.Merge(vltContext, vltWriter);
10 string html = vltWriter.GetStringBuilder().ToString();
11 context.Response.Write(html);
代码示例:
使用步骤
1.在UI层中引入Nvelocity.dll程序集
2.创建一个RenderHTML类
3.创建Render(string fileName,object templateDate)方法,并且复制以上代码到函数中
4.在HTML中设定$data取出数据
5.通过外部调用,返回合成后的HTML
 1   public class RenderHTML
 2     {
 3         public static string Render(string fileName,object templateDate)
 4         {
 5             VelocityEngine vltEngine = new VelocityEngine();
 6             vltEngine.SetProperty(RuntimeConstants.RESOURCE_LOADER, "file");
 7             vltEngine.SetProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH, System.Web.Hosting.HostingEnvironment.MapPath("~/template"));
 8             vltEngine.Init();
 9             VelocityContext vltContext = new VelocityContext();
10             vltContext.Put("data", templateDate);
11             Template vltTemplate = vltEngine.GetTemplate(fileName);
12             System.IO.StringWriter vltWriter = new System.IO.StringWriter();
13             vltTemplate.Merge(vltContext, vltWriter);
14             string html = vltWriter.GetStringBuilder().ToString();
15             return html;
16         }
17     }
注意:在Nvelocity中循环取List数据

 1 #foreach($item in $data) 2 //HTML Code And C# $DATA.Value 3 #end 

 

posted @ 2019-03-01 10:09  SkyWorldTY  阅读(38)  评论(0)    收藏  举报