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,那么應該如下示例定義: CodeVelocityEngine?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配置详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 几个高效做事的法则,让你的一天有 25
- 下一篇: 被攻击了!