Velocity初始化过程解析.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Velocity初始化过程解析

Velocity初始化过程解析 Velocity是一个表示层的模板框架,作为jsp的替代者,有着很多优势。小巧方便,不必使用el或者其他表示层技术来展示页面,感觉是一个很新颖的技术。 Velocity作为MVC框架中的V存在,和普通jsp页面有着不同,它是一种template引擎,利用先编辑完的格式来作为大纲,把一些需要变化的地方作为参数传入,显示时将模板和参数合并,达到最终输出的样子。本文使用目前必威体育精装版的velocity1.6.2.jar包进行解析。 最根本的velocity就是由template,engine,context组成。 1、首先创建一个template(如果是用在web上就是一个html文件),将需要参数化或实例化的地方用跟context有关的符号标记出来,标记时使用velocity template language。而template应该可以是任意的文本。 2、给context设定一些值,这些值用来替换在template中被标记的地方。 3、利用engine将template中需要替换的地方用context中的值替换掉,也就是所谓的merge,从而得到该模板的实例。 简单的用java代码来输出就是: VelocityEngine velocity = new VelocityEngine(); VelocityContext context = new VelocityContext(); context.put(name, czy); Template template = velocity.getTemplate(/src/main/resources/test.vm); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(System.out)); template.merge(context, writer); writer.flush(); writer.close(); 至于我们为什么使用VelocityEngine 而不是使用Velocity类,或者说两者有什么区别,请看《VelocityEngine 和Velocity类解析》 我们假设使用普通的velocityEngine来作为引擎,来进入初始化的过程。 Velocity的初始化有多种方式: 1、init() 2、init(Properties p) 3、init(String propertiesName) 第一种init()方式是最简单的方式,当我们的程序没有配置类似velocity.properties这样的文件的时候,就会使用默认的配置文件来初始化,默认的配置文件的位置在 org/apache/velocity/runtime/defaults/velocity.properties 而将Velocity应用在WEB的时候,默认的配置文件使用的是 org/apache/velocity/tools/view/servlet/velocity.properties 在初始化前,velocity会把配置文件的属性和值读取后保存在内存中,初始化时,velocity将会初始化以下几个方面: 1、Logging System 日志系统 2、ResourceManager 资源加载器 3、EventHandler 事件句柄 4、Parser Pool 解析池 5、Global Cache 全局缓存 6、Static Content Include System 7、Velocimacro System 宏 Logging System 顾名思义,是进行日志的初始化工作,Veloicty会使用LogManager来默认创建一个LogChute的实例。Velocity早些时候是使用LogSystem来作为日志的接口,而现在则使用LogChute。第一个最初最初的默认实例叫做HoldingLogChute,其实里面就是一个Vector来保存信息,用来作为初始化日志系统的日志实例,呵呵,很拗口。 在创建了第一个系统内置的日志实例后,才会开始真正的创建日志系统,velocity会根据配置文件里的信息,查找一个名叫runtime.log.logsystem的属性,一旦配置文件中有配置这个属性,则会开始去创建日志系统。当velocity没有配置runtime.log.logsystem这个属性的时候,则会继续寻找runtime.log.logsystem.class这个属性,默认的velocity.properties配置文件中,这个属性的值按顺序依次为 1、AvalonLogChute 2、Log4JLogChute 3、Comm

文档评论(0)

sb9185sb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档