velocity源代码分析
程序员文章站
2022-06-21 10:46:59
...
Velocity就是一个template引擎,或是代码生成器。
由template,engine,context组成。
1. 首先创建一个template(如果是用在web上就是一个html文件),将需要参数化或实例化的地方用跟context有关的符号标记出来,标记时使用velocity template language。而template应该可以是任意的文本。
2. 给context设定一些值,这些值用来替换在template中被标记的地方。
3. 利用engine将template中需要替换的地方用context中的值替换掉,也就是所谓的merge,从而得到该模板的实例。
除此之外,还有些组件:
logging:用log4j作为其日志系统。
Resource loader:控制网页生成中使用的模板。
VelocityEngine--->RuntimeInstance
initializeResourceManager()
----------->ResourceManagerImpl
initialize()
assembleResourceLoaderInitializers()
getTemplate()
----------->getResource()------->loadResource()
----->Resource:Template
resource.process()
------>ResourceLoader
getResourceStream()
------>RuntimeInstance
parse()
parse阶段
RuntimeInstance
prase()-------->ParserPool
get()---------->Parser
parse()
ResourceManager
Velocity.setProperty("resource.manager.class", "ResourceManager");
ResourceLoader
默认是FileResourceLoader
ResourceCache
默认是ResourceCacheImpl
RuntimeConstants总控配置
resourceType
velocity有两种资源类型 RESOURCE_TEMPLATE, RESOURCE_CONTENT,
上一篇: 移动端禁止用户缩放页面大小尺寸
下一篇: 引领时尚设计潮流 最新上市白色版手机推荐