zoukankan      html  css  js  c++  java
  • .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());

  • 相关阅读:
    Linux:运维基础网络知识(下)
    Linux:运维基础网络知识(上)
    Linux :linux系统磁盘(fdisk、partprobe、mkfs、mount、df、sort、swap、inode、block)
    Linux:操作系统用户权限(useradd、usermod、userdel、groupadd、groupmod、chown、id、uid、sudo)
    Linux:三剑客之 awk
    Linux:三剑客之 sed
    Linux :和时间相关的命令(date,ntpdate)
    Linux:文件属性信息-软硬链接数(ln)
    Linux:文件属性信息-(inode、block)
    Linux:系统中如何对文件进行压缩处理(tar)
  • 原文地址:https://www.cnblogs.com/cxd4321/p/1585060.html
Copyright © 2011-2022 走看看