Velocity 配置文件的默认路径为: org/apache/velocity/runtime/defaults/velocity.properties
配置方法有三种:
1. 写自己的配置文件 customer.properties ,通过 Velocity.init(filename)来初始化。
2. 通过java.util.Properties对象,通过 Velocity.init(propertiesObject)来初始化。
3. 通过Velocity.setProperty()函数改变配置。
可以配置的内容如下:
1. 指令配置
- directive.foreach.counter.name: foreach循环中,内置的counter的名字,原为:velocityCount
- directive.foreach.counter.initial.value: foreach循环中内置的counter的初始值,原为: 1
- directive.include.output.errormsg.start: #include指令出错的开始注释,原为:“<!-- include error ”
- directive.include.output.errormsg.end: #include指令出错的结束注释,原为:“see error log -->”.
- directive.parse.max.depth: #parse指令最大嵌套层数 默认值10
2. 编码配置
- input.encoding:输入的模板的编码 默认值:ISO-8859-1
- output.encoding:output stream的默认编码,默认值:ISO-8859-1
3. 日志配置
- runtime.log: 默认 velocity.log
- runtime.log.logsystem: 需要实现接口org.apache.velocity.runtime.log.LogSystem 没有默认值
- runtime.log.logsystem.class: org.apache.velocity.runtime.log.AvalonLogSystem org.apache.velocity.runtime.log.SimpleLog4J.logSystem. Logging
- runtime.log.error.stacktrace: 是否打印 error级别的信息,默认配置是false
- runtime.log.warn.stacktrace: 是否打印 warn级别的信息,默认配置是false
- runtime.log.info.stacktrace:是否打印 info级别的信息,默认配置是false
- runtime.log.invalid.references: 是否打印无效引用的信息。默认值 true 。
4. 资源管理
- resource.manager.class
资源管理类,需要实现接口:o
rg.apache.velocity.runtime.resource.ResourceManager 。默认值:
org.apache.velocity.runtime.resource.ResourceManagerImpl。
- resource.manager.cache.class
资源缓存类,查找到template之后,可以将template放到cache类里面,下次在查找,就直接从cache里面取,必须实现接口:
org.apache.velocity.runtime.resource.ResourceCache。
默认值为:
org.apache.velocity.runtime.resource.
ResourceCacheImpl
- resource.manager.logwhenfound : 当资源找到之后,是否打印日志,默认值为true
-
<loader>.resource.loader.description: 描述,不影响运行
- <loader>.resource.loader.class :定义对应资源加载的类,必须继承org.apache.velocity.runtime.resource.loader.ResourceLoader类
- <loader>.resource.loader.path : 定义对应资源加载的路径
- <loader>.resource.loader.cache: 定义对应资源加载的时候,是否缓存,默认是false,最好是true
- <loader>.resource.loader.modificationCheckInterval: 在对应资源加载的cache打开时,检查资源是否被修改的间隔时间。单位为秒,负值代表不检查,默认值为2
其中<loader>可以是 JAR,Classpath和DataSource。
5. 其他配置
- runtime.interpolate.string.literals : #set指令的rhf, 在“”中的字符串是否保持原形,不需要进行修改。默认值是false。
-
parser.pool.size: 模板解析的线程数,默认解析数为 20。