• .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());

    例子下载

    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());

    例子下载

    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());

  • 相关阅读:
    【算法】算法的艺术(六)
    【算法】算法·冒泡,选择,插入排序算法
    【算法】算法的应用(一)
    【嵌入式】FS2410非操作系统外围资源测试
    【嵌入式】bootloader,linux,filesystem的烧写
    【Bootloader】bootloader启动过程分析
    【Linux技术】autotools制作makefile过程详解
    【Linux技术】ubuntu常用命令
    【教程】linux下安装Google Chrome
    【电子基础】IIC总线工作原理
  • 原文地址:https://www.cnblogs.com/cxd4321/p/1585060.html
Copyright © 2020-2023  润新知