`
isiqi
  • 浏览: 16487019 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

NVelocity系列:NVelocity配置详解

阅读更多

在VelocityEngine初始化前,可以通过ExtendedProperties配置NVelocity的运行环境参数,当执行 VelocityEngine的Init(ExtendedProperties)后,NVelocity会合并自定义配置和默认配置。 NVelocity在NVelocity.Runtime.RuntimeConstants中定义了默认配置项的名称,在内嵌资源文件 NVelocity.Runtime.Defaults.nvelocity.properties中定义了所有默认配置项的值。下面列出一些常用配置:

模板编码:

input.encoding=ISO-8859-1 //模板输入编码
output.encoding=ISO-8859-1//模板输出编码

#foreach配置

directive.foreach.counter.name = velocityCount //计数器名称
directive.foreach.counter.initial.value = 1 //计数器初始值
directive.foreach.maxloops = -1 //最大循环次数,-1为默认不限制 directive.foreach.iterator.name = velocityHasNex//迭代器名称

#set配置

directive.set.null.allowed = false //是否可设置空值

#include配置

directive.include.output.errormsg.start = <!-- include error : //错误信息提示开始字符串
directive.include.output.errormsg.end =see error log -->//错误信息提示结束字符串

#parse配置

directive.parse.max.depth = 10 //解析深度

模板加载器配置



resource.loader = file //模板加载器类型,默认为文件,可定义多个

file.resource.loader.description = Velocity File Resource Loader //加载器描述
file.resource.loader.class = NVelocity.Runtime.Resource.Loader.FileResourceLoader //加载器类名称
file.resource.loader.path = .//模板路径
file.resource.loader.cache = false //是否启用模板缓存
file.resource.loader.modificationCheckInterval = 2 //检查模板更改时间间隔

宏配置

velocimacro.permissions.allow.inline = true//是否可以行内定义
velocimacro.permissions.allow.inline.to.replace.global = false //是否可以用行内定义代替全局定义
velocimacro.permissions.allow.inline.local.scope = false //行内定义是否只用于局部

velocimacro.context.localscope = false//宏上下文是否只用于局部
velocimacro.max.depth = 20//解析深度

velocimacro.arguments.strict = false //宏参数是否启用严格模式

资源管理器配置

resource.manager.class = NVelocity.Runtime.Resource.ResourceManagerImpl//管理器类名称
resource.manager.cache.class = NVelocity.Runtime.Resource.ResourceCacheImpl //缓存器类名称

解析器池配置

parser.pool.class = NVelocity.Runtime.ParserPoolImpl //解析池类名称
parser.pool.size = 40//初始大小

#evaluate配置

directive.evaluate.context.class = NVelocity.VelocityContext //上下问类名称

可插入introspector配置

runtime.introspector.uberspect = NVelocity.Util.Introspection.UberspectImpl //默认introspector类名称

在 NVelocity中有的配置是可以定义多个的,比如资源加载器。注意一点在传入的实现类名称一定要采用:class fullname;assembly name格式,比如自定义了一个资源加载器EasyNet.Mvc.AssemblyResourceLoader,程序集名称为 EasyNet.Mvc,那么应该如下示例定义:

VelocityEngine velocity = new VelocityEngine();

ExtendedProperties props = new ExtendedProperties();

//定义资源加载器
props.AddProperty(RuntimeConstants.RESOURCE_LOADER, "EasyNet.Mvc.AssemblyResourceLoader;EasyNet.Mvc");

//初始化
velocity.Init(props);

分享到:
评论

相关推荐

    模板引擎 - NVelocity

    使用NVelocity时,你需要配置一个VelocityEngine实例,然后加载模板文件,并设置上下文(Context)中的变量。上下文是模板中变量和其对应值的容器。一旦配置完成,你可以通过引擎的`mergeTemplate`方法将模板与上...

    NVelocity中文文档以及NVelocity.dll 1.0(适用用.net环境下)

    NVelocity是Java模板引擎Velocity的.Net版本。NVelocity目前官方版本为0.42。官方地址:http://nvelocity.sourceforge.net/,原作者已经申明不再对NVelocity做技术支持了,所以sourceforge上NVelocity版本一直是0.42...

    Json+NVelocity模板引擎C#入门示例,比较全面

    以下是一个简单的C#入门示例,展示了如何使用Json和NVelocity: 首先,你需要创建一个Json对象并序列化成字符串: ```csharp var myObject = new { Name = "John", Age = 30 }; var jsonSerializerSettings = new ...

    nvelocity_模板_NVelocity_C#_模板引擎_

    3. **指令(Directives)**:NVelocity提供了多种内置指令,如`#if`, `#foreach`, `#set`等,用于控制模板的逻辑流程。 4. **宏(Macros)**:宏类似于函数,可以在模板中定义并重复使用,用来封装常见或复杂的HTML...

    NVelocity.dll

    NVelocity.dll 文件是开源项目[NVelocity](https://github.com/NVelocity/NVelocity)的一部分,它是一个基于.NET Framework的模板引擎,用于生成动态内容。NVelocity灵感来源于Apache Velocity,它允许开发者将逻辑...

    NVelocity操作基础代码

    5. **指令控制(Controls)**:NVelocity提供了多种控制结构,如`#foreach`, `#if/else`, `#break`, `#continue`等,用于实现复杂的逻辑控制。 6. **自定义函数和方法**:你可以注册自定义的C#方法,使其在模板中可...

    使用NVelocity实现的简单学员管理

    1. **NVelocity模板语言**:NVelocity模板语言(VTL)是一种简单的标记语言,它允许开发者在模板中嵌入变量和控制结构。例如,可以使用`#foreach`循环遍历学员列表,`$student.name`获取学员姓名等。这种模板语言...

    Nvelocity真静态案例

    3. **配置Nvelocity**:在C#代码中初始化`VelocityEngine`实例,设置资源加载器,如`FileResourceLoader`,指定模板文件所在的目录。 ```csharp VelocityEngine engine = new VelocityEngine(); engine.Init(new ...

    nvelocity 模型适配

    1. **模板语言**:NVelocity使用自己的模板语言(VTL, Velocity Template Language),这是一种非脚本语言,设计简洁,易于学习和使用。VTL使得开发者能够通过简单的指令(如`#set`, `#if`, `#foreach`等)来控制...

    NVelocity简单实例+资源包

    - **模板**:NVelocity的中心是模板,这是一种特殊的文本文件,其中包含了固定文本和可变内容。可变内容由${expression}或#set指令表示,它们会被模板引擎解析并替换为运行时的值。 - **上下文(Context)**:这是...

    Nvelocity模板引擎

    为了在项目中使用NVelocity,你需要首先添加NVelocity.dll为项目引用,然后创建一个VelocityEngine实例,配置必要的属性如模板目录。接着,创建一个VelocityContext对象,将数据模型放入其中。最后,通过Engine实例...

    NVelocity语法 java or c#

    NVelocity是一款强大的、开源的模板引擎,最初是为Java平台设计的,但通过特定的封装,它也能够被C#开发者在ASP.NET平台上利用。NVelocity语法是用于生成动态内容的关键,它允许开发者将静态HTML模板与应用程序数据...

    Velocity文档和NVelocity类库

    NVelocity提供了一系列API,使得.NET开发者可以方便地初始化、解析和合并模板。以下是一些关键的API: 1. `VelocityContext`: 这是上下文对象,用于存储数据,这些数据在模板中可以通过变量引用访问。你可以通过`...

    2017年NVelocity引擎各种用法

    2017年的这个资源集合提供了一系列NVelocity的使用案例,旨在帮助初学者快速理解和掌握其核心功能。 一、NVelocity基本概念 NVelocity引擎主要由两个核心组件构成:模板(Template)和上下文(Context)。模板是纯...

    NVelocity使用文档

    本使用文档将深入探讨NVelocity的核心概念、安装与配置、语法特性、以及实际应用示例,帮助你全面掌握这一工具。 **一、NVelocity简介** NVelocity的主要功能是将静态模板与动态数据结合,生成定制化的输出。它允许...

    NVelocity1.1版及示例Demo(全源码)

    5. **性能优化**:NVelocity通过预编译模板来提升性能,将模板转化为.NET字节码,减少运行时解析的时间。 关于压缩包中的“Test”文件,这可能是NVelocity的测试用例或者示例程序,用于展示如何使用NVelocity引擎。...

    NVelocity用法

    ### NVelocity用法详解 NVelocity 是一个 .NET 框架下的模板引擎,它提供了一种简单且高效的方式来处理动态内容的生成。基于 Java 的 Velocity 引擎,NVelocity 被设计用于 .NET 平台,允许开发人员利用其强大的...

    NVelocity语法

    NVelocity语法 NVelocity是一种基于模板的template engine,用于生成动态网页内容。下面是NVelocity语法的详细知识点: 变量和表达式 在NVelocity中,变量是通过 `$`符号来声明的,例如 `$customer.Name`。变量...

    C# NVelocity模板调用实例

    `Default.aspx`是ASP.NET Web Forms的应用首页,`NVelocityDemo.csproj.user`是项目的用户配置文件,`Web.config`是应用程序的配置文件,`TemplateHelper.cs`可能是一个自定义的帮助类,用于封装NVelocity模板的处理...

    nvelocity 模版 例子

    在.NET应用中,首先需要添加NVelocity库的引用,然后创建一个`VelocityEngine`实例,并通过`Init`方法设置配置。接着,加载模板文件,使用`Evaluate`方法将数据模型与模板结合,生成最终输出。 4. **例子** - **...

Global site tag (gtag.js) - Google Analytics