Velocity是什么
Velocity是一个基于java的模板引擎,类似与Freemarker。
为啥要用模板引擎
- 模板引擎的速度要比jsp快,因为JSP需要编译成servlet。
- 将数据(Date)和模板(View)分离,让不同的角色只关注自己的部分。
Velocity和Freemarker的比较
- 功能上:FreeMarker的功能比Velocity多,是Velocity的超集。
- 使用上:Velocity更加简单和轻量级。
Velocity Template Language (VTL)
基本原则:使用$字符开始的用于得到什么;使用#字符开始的用于作些什么。如下
a) 变量:#set( $foo = "gibbous" ) $moon = $foo
b) 属性:$customer.Address
c) 方法:$customer.getAddress()
注意感叹号!:用来强制把不存在的变量显示为空白,所以强烈建议加上!,如$!message。在Freemarker里也建议这样。
其他的在使用中可以参考文档Velocity学习指南.doc。
Velocity的工作原理
三步了解Velocity的大致原理。
我觉得Velocity是由上至下逐行扫描模板,当扫描到占位符(如$和#)的时候,通过JAVA的反射机制(或者cglib直接生成字节码)调用JAVA的属性和方法,生成最终数据。
学习资料
官方网址:http://velocity.apache.org/engine/releases/velocity-1.7/
分享到:
相关推荐
Velocity 模板引擎初体验 Velocity 是一种 Java 模板引擎技术,由 Apache 提出,是一种基于 Java 的模板引擎,允许任何人使用简单而强大的模板语言来引用定义在 Java 代码中的对象。Velocity 的主要功能是桥梁 ...
提供的《Velocity_java开发指南》和《Java的模板引擎Velocity初体验》两本书籍是学习Velocity的好资料。它们会详细介绍Velocity的使用方法、语法特性以及最佳实践,对于初学者来说非常有帮助。同时,Apache官网也有...
在实际项目中,`Java的模板引擎Velocity初体验.doc` 可能包含了初学者如何快速上手 Velocity 的步骤和常见问题。而 `Velocity2.ppt` 很可能是一个详细的 Velocity 进阶教程,涵盖了高级特性如宏、自定义工具类的使用...
**Struts 2初体验** Struts 2是一款强大的基于MVC(Model-View-Controller)设计模式的Java Web框架,它旨在简化企业级应用程序的开发。作为一个初学者,了解并掌握Struts 2的基本概念和操作流程是至关重要的。 **...
2. **资源管理**:如何有效地缓存资源,避免不必要的网络请求,以及使用 Service Worker 提升离线体验。 3. **性能预算**:如何设置并遵守性能预算,确保项目的性能不会随着功能的增加而退化。 4. **前端架构**:...
在安卓应用开发中,用户体验是至关重要的因素之一,而动态效果则是提升用户体验的重要手段。"加入购物车动画,抛物线"这个主题聚焦于安卓商城应用中的一个具体功能:商品被添加到购物车时的动画效果。这个动画通过...
在实际开发中,例如ACCP5.0技术讲座中提到的SSH初体验,开发者可以在Eclipse或MyEclipse这样的集成开发环境中,通过图形化工具快速搭建SSH框架。首先,创建一个Web工程,然后添加Spring框架,并配置相关数据源和...
- 计算箭矢的初速度和方向,将其应用到箭矢的加速度(acceleration)或速度(velocity)属性上。 - 添加碰撞检测,当箭矢与敌人碰撞时,触发伤害计算。 5. **优化与细节** - 考虑到游戏体验,可能需要添加缓动...
Struts 1是一款经典的Java Web框架,它在20世纪末至21世纪初的Web开发领域占据着重要地位。然而,随着技术的发展,Struts 1逐渐暴露出一些局限性,例如性能瓶颈、安全问题以及对现代开发模式的支持不足等。面对这些...
WebWork是一个轻量级、基于MVC(Model-View-Controller)设计模式的框架,它在2000年代初非常流行,尤其在Java社区中。本书旨在帮助开发者理解和掌握WebWork框架的核心概念和技术,以便更高效地构建动态的、交互式的...
2. **高速(Velocity)**:数据产生和变化的速度极快,要求实时或近实时处理。 3. **多样(Variety)**:数据来源广泛,类型多样,包括结构化、半结构化和非结构化数据。 4. **价值(Value)**:虽然数据密度相对较...
21世纪初,伴随着互联网、移动互联网、物联网等技术的发展,数据的生产和传播速度飞速提升,催生了大数据时代的到来。 【大数据的特征】 大数据的主要特征包括三个V:Volume(大量)、Velocity(高速)、Variety...
咖啡销售系统,作为一个全面的业务管理系统,对于初入Java开发领域的从业者来说,是极好的学习和实践平台。它涵盖了从需求分析、系统设计、编码实现到测试上线的全过程,帮助开发者深入理解软件工程的各个环节,提升...
在阿里巴巴网站建立之初,技术栈相对原始,主要使用Perl、CGI等技术来搭建网站。由于当时的技术限制,网站的服务器位于美国,并且网络连接速度仅为56K Modem,这极大地限制了网站的性能和可用性。此外,网站的开发、...
Confetti通常会向上飘扬然后缓慢下降,因此需要设置初速度向上的值,同时可以设置衰减使其速度逐渐降低。 4. Color Over Lifetime模块:定义粒子颜色随时间的变化。为了增加视觉吸引力,我们可以让Confetti在飞行...
3. **大数据应用**:大数据已广泛应用于各个领域,如金融分析预测市场趋势,医疗健康领域挖掘疾病模式,交通管理优化城市交通,以及广告推荐系统个性化用户体验等。 大数据的应用带来了新的机遇,如商业模式创新、...
大数据,作为一个在21世纪初崭露头角的概念,已经成为信息技术领域的核心话题。这一概念的出现,源于信息量的急剧增加以及处理这些海量信息需求的不断攀升。半个世纪以来,计算机技术的快速发展使得数据的生成和积累...
抛物线是物理学中一个经典的运动轨迹,由物体在重力作用下的垂直下落和初速度决定。在游戏开发中,模拟抛物线运动通常用于物体投掷、射击或其他基于物理的交互。在UE4中,我们可以通过蓝图来构建这个复杂的运动模型...
9. **插件体系**:Struts2具有丰富的插件库,如Freemarker、Velocity视图技术,Hibernate、iBatis持久层框架等,可以无缝集成,扩展框架功能。 10. **Ajax支持**:Struts2提供了Ajax插件,使开发者能够轻松实现页面...