• 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) " +
    "#beforeall " +
    "<table border="0" cellpadding="10" cellspacing="10">" +
    "<tr><td>Name</td><td>Sex</td><td>City</td></tr>" +
    "#each " +
    "<tr>" +
    "<td>$u.Name</td>" +
    "<td>$u.Sex</td>" +
    "<td>$u.City</td>" +
    "</tr>" +
    "#afterall " +
    "</table>" +
    "#nodata " +
    "暂无用户资料 " +
    "#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());

  • 相关阅读:
    关于enum ,调用webservice,用户控件与主页面之间的交互,datsource属性,net面试题,反射类生成sql语句,URl重写一个小实例
    一个很简单的图片上传后立即显示在页面的控件(c#)
    委托之实现异步调用
    跟我学Linq
    w3c关于sql sever的基础操作
    join操作基础
    表操作基础
    javascript理论篇(详情见地址)
    android universal-image-loader的使用
    json相关类库,java对象与json相互转换
  • 原文地址:https://www.cnblogs.com/chencidi/p/3643064.html
Copyright © 2020-2023  润新知