NVelocity 在.Net的三种用法

NVelocity 使用文件型模板例子

using NVelocity;
using NVelocity.App;
using NVelocity.Runtime;
VelocityEngine vltEngine = new VelocityEngine();
vltEngine.SetProperty(RuntimeConstants.RESOURCE_LOADER, "file");
vltEngine.SetProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH, Server.MapPath("~/Template/"));
vltEngine.Init();
VelocityContext vltContext = new VelocityContext();
vltContext.Put("PageTitle", "文件模板例子");
vltContext.Put("ListUsers", listUsers);
Template vltTemplate = vltEngine.GetTemplate("Default.htm");
System.IO.StringWriter vltWriter = new System.IO.StringWriter();
vltTemplate.Merge(vltContext, vltWriter);
Response.Write(vltWriter.GetStringBuilder().ToString());

 

NVelocity 使用资源文件模板例子

using NVelocity;
using NVelocity.App;
using NVelocity.Runtime;
        IList<string> listAssembly = new List<string>();
// 添加程序集名称
        listAssembly.Add("LibTest");
        VelocityEngine vltEngine = new VelocityEngine();
        vltEngine.SetProperty(RuntimeConstants.RESOURCE_LOADER, "assembly");
        vltEngine.SetProperty("assembly.resource.loader.class", "NVelocity.Runtime.Resource.Loader.AssemblyResourceLoader; NVelocity"); // 固定写法- -!
        vltEngine.SetProperty("assembly.resource.loader.assembly", listAssembly);
        vltEngine.Init();
        VelocityContext vltContext = new VelocityContext();
        vltContext.Put("PageTitle", "资源模板例子");
        vltContext.Put("ListUsers", listUsers);
        Template vltTemplate = vltEngine.GetTemplate("LibTest.Resources.Default.htm");
        System.IO.StringWriter vltWriter = new System.IO.StringWriter();
        vltTemplate.Merge(vltContext, vltWriter);
        Response.Write(vltWriter.GetStringBuilder().ToString());

 

NVelocity 使用字符串模板例子

using NVelocity;
using NVelocity.App;
using NVelocity.Runtime;
System.Text.StringBuilder builder = new System.Text.StringBuilder();
        builder.Append("#foreach($u in $ListUsers)\r\n" +
"#beforeall\r\n" +
"<table border=\"0\" cellpadding=\"10\" cellspacing=\"10\">" +
"<tr><td>Name</td><td>Sex</td><td>City</td></tr>" +
"#each\r\n" +
"<tr>" +
"<td>$u.Name</td>" +
"<td>$u.Sex</td>" +
"<td>$u.City</td>" +
"</tr>" +
"#afterall\r\n" +
"</table>" +
"#nodata\r\n" +
"暂无用户资料\r\n" +
"#end");
        VelocityEngine vltEngine = new VelocityEngine();
        vltEngine.Init();
        VelocityContext vltContext = new VelocityContext();
        vltContext.Put("PageTitle", "字符串模板例子");
        vltContext.Put("ListUsers", listUsers);
        System.IO.StringWriter vltWriter = new System.IO.StringWriter();
        vltEngine.Evaluate(vltContext, vltWriter, null, builder.ToString());
        Response.Write(vltWriter.GetStringBuilder().ToString());

NVelocity 在.Net的三种用法,古老的榕树,5-wow.com

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