在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,那么应该如下示例定义:
Code
VelocityEngine velocity = new VelocityEngine();

ExtendedProperties props = new ExtendedProperties();

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

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

转载于:https://www.cnblogs.com/TerryLiang/archive/2009/03/22/1418805.html

NVelocity系列:NVelocity配置详解相关推荐

  1. webpack手摸手学习系列之配置详解的 entry、output、module、resolve、devServer 和 optimization

    一.webpack 配置详解之 entry 创建空文件夹,通过 npm init 命令初始化 package.json 文件,通过 npm install webpack webpack-cli -g ...

  2. 深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇)

    上篇文章<深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)> 介绍了properties与environments, ...

  3. mongo 3.4分片集群系列之六:详解配置数据库

    这个系列大致想跟大家分享以下篇章: 1.mongo 3.4分片集群系列之一:浅谈分片集群 2.mongo 3.4分片集群系列之二:搭建分片集群--哈希分片 3.mongo 3.4分片集群系列之三:搭建 ...

  4. SpringMVC 框架系列之组件概述与配置详解

    在上一篇文章 SpringMVC 框架系列之初识与入门实例 的实例中,我们已经知道,SpringMVC 框架是一个 web 层的框架,本篇文章就详细解释一下 SpringMVC 框架具体文件的配置以及 ...

  5. mycat的主从关系 垂直分库 水平分表 以及mycat分片联表查询的配置详解(mysql5.7系列)

    主从关系 准备三台不同ip的虚拟机 (第一批)主从关系的配置 主192.168.47.131 配置/etc/my.cnf,在[mysqld]下配置 log-error=/var/log/mysqld. ...

  6. SpringSecurity权限管理框架系列(六)-Spring Security框架自定义配置类详解(二)之authorizeRequests配置详解

    1.预置演示环境 这个演示环境继续沿用 SpringSecurit权限管理框架系列(五)-Spring Security框架自定义配置类详解(一)之formLogin配置详解的环境. 2.自定义配置类 ...

  7. LCS2005客户端配置详解:LCS2005系列之二

    LCS2005客户端配置详解 上篇博文中我们介绍了如何部署LCS2005标准版,今天我们要再进一步,配置好LCS2005的客户端,使用户能够使用LCS提供的即时通讯服务来进行彼此间的信息交流.实验拓扑 ...

  8. 川崎机器人D系列as_川崎机器人|Profinet配置详解

    川崎机器人|Profinet配置详解 注:本文章文字.图片部分来自网络 版权归原作者,侵删. 您是否对将工业自动化集成到您的设施中感兴趣?如果是这样,那么您应该致电工业自动化和集成领域的领导者工博士. ...

  9. mybatis 同名方法_MyBatis(四):xml配置详解

    目录 1.我们将 数据库的配置语句写在 db.properties 文件中 2.在 mybatis-configuration.xml 中加载db.properties文件并读取 通过源码我们可以分析 ...

  10. Docker系列07—Dockerfile 详解

    Docker系列07-Dockerfile 详解 1.认识Dockerfile 1.1 镜像的生成途径 基于容器制作  dockerfile,docker build 基于容器制作镜像,已经在上篇Do ...

最新文章

  1. CF1012F Passports
  2. 周报_2012第51周(2012/12/16-2012/12/22)
  3. Odoo(OpenERP)配置文件详解
  4. springMVC——注解配置方式实现Helloworld
  5. 安装MariaDB数据库(未完成)
  6. 分布式数字签名令牌TokenProvider
  7. CMU博士Nature撰文:机器学习要避开这三个“大坑”
  8. 设计模式的功力长了!
  9. Cockroachdb 三、副本设置
  10. mysql的db.opt文件_MySQL数据库的db.opt文件
  11. Atitit 图像处理和计算机视觉的分类 三部分 图像处理 图像分析 计算机视觉
  12. 教你编写一份高质量的软件测试报告
  13. pandox怎么用_神器Pandoc的安装与使用 | Flyaway's Blog
  14. Windbg基础-了解Symbols zz
  15. ios微信公众号返回上一级页面的时候页面数据没有刷新
  16. FPGA实现的SPI协议(二)----基于SPI接口的FLASH芯片M25P16的使用
  17. OneHotEncoder独热编码
  18. PLM,是一个英文缩写,有2个含义,一是表示产品生命周期管理(product lifecycle management,PLM),...
  19. 关于SAP 启用新公司时 选用的会计准则
  20. 上海气象局 mysql_PHP通过气象局开放API查询指定城市(区县)天气

热门文章

  1. mongoose mysql_mongoose入门
  2. 104 规约模拟器linux,变电站自动化系统调试装置 Substation automation system debugging device...
  3. linux写一个ls命令,linux 下 如何自己写 ls 命令
  4. Word2Vec学习笔记(一)
  5. 全球数字经济白皮书——疫情冲击下的复苏新曙光
  6. 互联网日报 | 5月10日 星期一 | 小米成立私募股权基金管理公司;58金融升级为58数科;京东健康推出“家医保”健康险服务...
  7. 回首阿里10年产品经理路,1点忠告希望在2021帮到你
  8. 杭州阿里、海康、网易等组成 的HR 联盟对打工人的影响
  9. 试用期这样做更快通过
  10. HR要我薪资流水,可我多报了怎么办?