*.vm 后缀的文件,是velocity的文件。velocity是基于java的一种页面模板引擎,支持#if #else #foreach等写法的前台文件。$link.contextPath是该引擎支持的一种默认写法,可以取得应用程序执行根路径。
Velocity是什么?Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。Velocity的能力远不止web站点开发这个领域,例如,它可以从模板(template)产生SQL和PostScript、XML,它也可以被当作一个独立工具来产生源代码和报告,或者作为其他系统的集成组件使用。Velocity也可以为Turbine web开发架构提供模板服务(template service)。Velocity+Turbine提供一个模板服务的方式允许一个web应用以一个真正的MVC模型进行开发。
不知什么进时候我们的Web网站上多了一些.XX的网页,熟悉Java的朋友都知道以使用一种新的Servlet技术。.vm是Velocity的应用,.do是Struts的应用,.action是WebWork的应用。细细斟酌其实都是Servlet技术的扩展,通过定义自己的Servlet解析不同应用的扩展名。带给我们的确实不是简单的文件扩展名的使用,是一种新的开源的启示。越来越多的开源项目进入我们的生活,我们可以从中找到些什么。
JSP是我们都比较熟悉的一种语言,他可以在页面直接嵌套Java代码、Script、Tag标签。我们在应用的时候越来越发现在页观嵌套业务逻辑是不可取的,我们需要使用新的MVC模式的Web框架。Struts是通过扩展Servlet通过JSP/html作为表示层;WebWork是比Struts轻型的MVC应用,扩展了Servlet的派遣机制通过Velocity提供给WebWork的工具应用扩展Tag实现显示,WebWork2不仅仅可应用在Web层;Velocity是一个模板框架,它可以应用在Web层也可以运行在应用程序层。
阅读(4619) | 评论(0) | 转发(0) |