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

NVelocity 在.Net的三种用法的更多相关文章

  1. using 的三种用法

    using 有哪三种用法? 1)引入命名空间. 2)给命名空间或者类型起别名. 3)划定作用域.自动释放资源,使用该方法的类型必须实现了 System.IDisposable接口,当对象脱离作用域之后 ...

  2. Js闭包常见三种用法

        Js闭包特性源于内部函数可以将外部函数的活动对象保存在自己的作用域链上,所以使内部函数的可以将外部函数的活动对象占为己有,可以在外部函数销毁时依然存有外部函数内的活动对象内容,这样做的好处是可 ...

  3. .NET(c#)new关键字的三种用法

    前几天去家公司面试,有一道这样的题:写出c#中new关键字的三种用法,思前想后挖空心思也只想出了两种用法,回来查了下msdn,还真是有第三种用法:用于在泛型声明中约束可能用作类型参数的参数的类型,这是 ...

  4. SQL、LINQ、Lambda 三种用法(转)

    SQL.LINQ.Lambda 三种用法颜色注释: SQL LinqToSql Lambda QA1. 查询Student表中的所有记录的Sname.Ssex和Class列.select sname, ...

  5. c# new关键字的三种用法

    三种用法如下: 在 C# 中,new 关键字可用作运算符.修饰符或约束. 1)new 运算符:用于创建对象和调用构造函数. 2)new 修饰符:在用作修饰符时,new 关键字可以显式隐藏从基类继承的成 ...

  6. java中 this 的三种用法

    Java中this的三种用法 调用属性 (1)this可以调用本类中的任何成员变量 调用方法(可省略) (2)this调用本类中的成员方法(在main方法里面没有办法通过this调用) 调用构造方法 ...

  7. 子查询。ANY三种用法。ALL两种用法。HAVING中使用子查询。SELECT中使用子查询。

    子查询存在的意义是解决多表查询带来的性能问题. 子查询返回单行多列: ANY三种用法: ALL两种用法: HAVING中的子查询返回单行单列: SELECT中使用子查询:(了解就好,避免使用这种方法! ...

  8. java中 this 关键字的三种用法

    Java中this的三种用法 调用属性 (1)this可以调用本类中的任何成员变量 调用方法(可省略) (2)this调用本类中的成员方法(在main方法里面没有办法通过this调用) 调用构造方法 ...

  9. C++学习---- virtual的三种用法

    virtual用法一:多态 #include<iostream> using namespace std; class A{ public: virtual void display(){ ...

随机推荐

  1. WIN8+VS2013编写发布WCF之二(部署)

    上文简介了如何建立WCF工程并且调试,下面说一下如何部署. 本文将陆陆续续讲述三种部署方式,随着项目的进展将不断补全. 声明: 用管理员身份打开VS2013,发布前请将程序的.net版本改成与服务器相 ...

  2. Python自然语言工具包(NLTK)入门

    在本期文章中,小生向您介绍了自然语言工具包(Natural Language Toolkit),它是一个将学术语言技术应用于文本数据集的 Python 库.称为“文本处理”的程序设计是其基本功能:更深 ...

  3. python 类属性和实例属性

    class AAA(): aaa = 10 # 情形1 obj1 = AAA() obj2 = AAA() print obj1.aaa, obj2.aaa, AAA.aaa # 情形2 obj1.a ...

  4. javascript arguments

    此文为转载文章: 什么是arguments arguments 是是JavaScript里的一个内置对象,它很古怪,也经常被人所忽视,但实际上是很重要的.所有主要的js函数库都利用了arguments ...

  5. PHP 学习笔记 01

    例子: 为什么要学PHP 主观原因: 前段时间在学校处理了毕业的一些事情,回到上海后开始了找工作的旅程.意向工作是WPF开发或者ASP.NET 作为后端的WEB开发. 陆陆续续一直在面试,其中有一家公 ...

  6. Javascript中“==”与“===”的区别

    在Javascript中有"=="和"==="两种比较运行符,那么他们有什么区别呢? 一.对于string,number等基础类型,==和===是有区别的 1) ...

  7. bash: 避免命令重复执行的简单脚本

    1. 根据命令生成md5做为文件名保存当前进程的pid2. 使用exec执行命令3. 如果再次执行, 使用ps -p检测上次pid是否有效, 如果是则exit 200.否则重复1.hadoop@ubu ...

  8. ASP.NET MVC如何实现自定义验证(服务端验证+客户端验证)

    ASP.NET MVC通过Model验证帮助我们很容易的实现对数据的验证,在默认的情况下,基于ValidationAttribute的声明是验证被使用,我们只需 要将相应的ValidationAttr ...

  9. iOS-打包成ipa

    第一步:模拟器选择栏,选择"Generic iOS Device ".早期版本需要断开手机连接,才可以找到. 第二步:选择"Product"菜单下的" ...

  10. TFS(Taobao File System)安装方法

    文章目录: 一.TFS(Taobao File System)安装方法 二.TFS(Taobao File System)配置dataServer.分区.挂载数据盘 三.TFS(Taobao File ...