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

  • 相关阅读:
    net start mongodb 提示:发生系统错误 5,拒绝访问。
    jquery下载所有版本
    国内优秀开源镜像站汇总
    bootstrap导航条报错 Uncaught TypeError: Cannot convert object to primitive value
    null的坑 和 比较运算符、相等运算符的隐式转换问题 (在javascript中,null>=0 为真,null<=0 为真,null==0却为假,null到底是什么?)
    关于 圣杯布局(双飞翼布局)的一些想法
    如何制作图标字体(如何将svg转换为css可用的图标字体)
    VirtualBox-虚拟硬盘扩容-win7
    前端JS导出表格
    JS判断是否是IE浏览器
  • 原文地址:https://www.cnblogs.com/cxd4321/p/1585060.html
Copyright © 2011-2022 走看看