.Net之NVelocity的三种用法 [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());

posted @ 2009-02-05 08:49  Yoshow  阅读(941)  评论(0编辑  收藏  举报