12.10.2. Velocimacro 属性
在velocity.properties 文件中有数行定义可以用来灵活实现Velocimacros。详细情况请参见开发指南(Developer Guide)。
velocimacro.library –是一个逗号分隔的所有Velocimacro 模板库的列表。默认情况下, Velocity 搜寻一个单一的库VM_global_library.vm.。预先配置的模板路径用来查找Velocimacro 库。
velocimacro.permissions.allow.inline –这个属性决定Velocimacros 是否可以在常规模板内定义,取值为逻辑True或者False。默认情况下,设置为true,允许设计者在产规模板内定义宏。
velocimacro.permissions.allow.inline.to.replace.global –逻辑true 或者false,允许标明是否允许在常规模板内定义的Velocimacro代替在模板库中定义并通过velocimacro.library属性在启动时装入的全局宏。默认设置为false。
velocimacro.permissions.allow.inline.local.scope –逻辑true 或者false,默认值为false。控制是否在模板内定义的Velocimacros仅在定义它的模板内可见。换句话说,如果设置为true,一个模板可以定义仅能被他所用的宏。你可以用它来做一些漂亮的宏,如果一个全局调用另一个全局宏,在局部(inline)范围内,当被一个模板调用时,该模板可以定义一个被第一个全局宏调用的第二个全局宏的私有实现。其他所有模板都不受影响。
velocimacro.context.localscope –逻辑值true 或者 false,缺省值为false。但设置为true时,所有在Velocimacro 内通过 #set() 进行的修改都将被视为Velocimacro 的本地行为,不会影响到其上下文。
velocimacro.library.autoreload –此属性控制Velocimacro 库的自动载入。缺省值为false。如果设置为true,被调用的Velocimacro得源库将被检查是否改变,并在必要是重新载入。这将使你可以改变和测试Velocimacro 库,而不必重新启动应用服务器或者servlet容器,就象你工作在常规模板一样。这个模时仅在资源载入器的缓存模时被关闭的情况下有效 (如file.resource.loader.cache = false )。此特征为开发时设计,不要在生产模式时使用。