一 是什么

velocity是一种让web设计者易于掌握和使用的模板语言,主要目的是简化web动态页面的开发。为了获取这种语言的支持,你需要java基础类集合,才能在MVC的model模型和view视图之间搭建一座桥梁。velocity最重要的一个特性就是它仅仅通过一组简单的语法就能清晰地把view和其他MVC组件区分开来。同时,java编程人员只需要集中关注应用的后台逻辑就行。

velocity不但可以应用于开发web页面,也可以用于开发独立运行的应用程序。它不仅能够输出HTML,也能输出其他类型的内容,比如:源代码、SQL或XML。

二 velocity

References – velocity包含三种类型的引用:变量、属性和方法。

变量以$符号开始,后紧跟英文符号或数字来进行定义。变量的值来自上下文同名的对象或直接量。

属性以$符号开始,后紧跟英文符号或数字,而后是一点”.”,最后跟上别的定义。属性引用自上下文中java对象的属性或调用对象方法返回值。

方法以$符号开始,后紧跟英文符号或数字,而后是一点”.”,最后跟上别的定义和方法体。

Directives指令 — velocity指令允许web设计者控制所有引用。脚本元素包括set(为变量名指定值或叫直接量)、loop控制、条件和include指令。

Velocimacros velocity宏 — velocimacros允许设计者构建多次重复使用的HTML和velocity脚本元素宏。

Logging 日志 — velocity利用log4j系统来产生日志。

Resource loader资源加载 — 控制用在web页面中的资源

Anakia — 示例应用,它允许使用velocity代替XSL来处理xml。

Application servers应用服务器 — velocity支持所有主流的应用服务器和servlet,比如Resin,Tomcat,和weblogic等。

三 应用场景

MVC架构的web应用场景:

业务功能确认。

第一步:由web设计者完成可视化布局设计,设计者使用HTML标记创建一个包含了全部所需图片和文本的页面,对于动态信息,比如用户的account号和地址等,设计者使用占位符进行替代(比如:<**user account name**>)。

   1: <HTML>
   2: <HEAD>
   3: <img src="header.jpg">
   4: </HEAD>
   5: <BODY>
   6: Hello, <**user account name**>
   7: </BODY>
   8: </HTML>

第二步,一旦完成页面可视化设计,设计者就应该和开发者召开一次会议,对动态内容(所使用的变量名称)进行讨论和确认,以保证页面能够正确显示。

第三步,web应用开发;在这一步中,MVC框架的优势很明显,因为设计者只需在web模板中增加脚本元素并加入双方约定的名称,而开发者则将开发焦点集中于如何返回约定名称的内容上。

转载于:https://www.cnblogs.com/gongnaixiao/p/3443971.html

velocity 模板语言(VTL)相关推荐

  1. Velocity模板语言VTL

    2019独角兽企业重金招聘Python工程师标准>>> Velocity是Apache软件组织提供的一想开源源码项目,可前往Apache Velocity Project下载.它是基 ...

  2. Velocity模板语言(VTL):说明

    VTL statement 语法部分 directive(指令) #set( $a = "Velocity" ) // 赋值语句 在上面的例子中,#set是分配一个值给变量.变量$ ...

  3. java 枚举 下拉框_枚举enum在velocity模板语言中的应用-下拉菜单

    1. velocity模板vm页面 语言: #if("add" == $flag) #foreach($elem in $languageEnum) $elem.name #end ...

  4. 模板语言(VTL):入门

    VTL使用references来在web site内嵌套动态内容,一个变量就是一种类型的reference. 变量是某种类型的refreence,它可以指向java代码中的定义,或者从当前页面内定义的 ...

  5. VTL(Velocity Templates Language,即Velocity模板语言)初识语法总结

    1.velocity是一门基于Java语言的视图表现层模板引擎,它可以取代jsp,比jsp更高效. 2.velocity变量的定义与引用 (1).定义一个变量:#set ($a = "vel ...

  6. Apache Velocity 模板语言 特殊字符${ $!{ 原样输出问题 转义符 # ! 无效

    Velocity版本比较古老,1.7的,没试用新的2.2,不太清除是不是版本导致的问题 先来说下问题,常规情况下需要原样输出这几个特殊字符的话,只要直接在模板中输入就行了,会原样显示,例如 接下来说特 ...

  7. freemarker中运算符_如何在Web应用系统表示层开发中应用Velocity模板技术

    软件项目实训及课程设计指导--如何在Web应用系统表示层开发实现中应用Velocity模板技术 1.分离Web表示层的数据处理和展现逻辑的常见的应用技术 分离Web表示层的数据处理和展现逻辑是目前企业 ...

  8. velocity模板引擎帮助

    Velocity用户手册是帮助页面设计者和内容提供者认识Velocity和其简单而功能强大的脚本语言――Velocity模板语言(VTL).在手册上的许多例子,都是用Velocity插入动态的内容到网 ...

  9. 《Velocity 模板使用指南》中文版[转]

    转自:http://blog.csdn.net/javafound/archive/2007/05/14/1607931.aspx <Velocity 模板使用指南>中文版 源文见 htt ...

最新文章

  1. 1062 Talent and Virtue
  2. poj-1384 Piggy-Bank
  3. MySQL服务器学习笔记!(二) ——数据库各项操作
  4. 浏览器字体大小设置_全新内核 Edge 浏览器来了,这回或许能成为你的真 · 默认浏览器...
  5. 面试和人生目标(转)
  6. 计算机网络在线测试第二章,进行测验:-第2章-网络体系结构与网络协议测试.doc...
  7. halcon中编程运算符_R编程中的运算符
  8. ios富文本的简单使用 AttributedString
  9. python遗传算法工具箱的使用_Python遗传算法框架——Geatpy学习笔记(一)
  10. nrf52840 内部 flash 结构
  11. 903C Boxes Packing
  12. 大数据挖掘与分析——用八爪鱼爬虫采集百度搜索内容
  13. python-破译密码
  14. 教程丨键盘上的各按键的作用与常用办公快捷键大全
  15. RocketMq之削峰
  16. RabbitMQ的Queue详解;
  17. C# webbrowser文本框的键盘和鼠标模拟输入和模拟鼠标点击
  18. java测试工程师培训,看这一篇就够了
  19. heartbeat: ha.cf配置文件中文详解
  20. doraemon的python(大更新) django静态文件的配置(出错多的地方)

热门文章

  1. C++ STL 算法精选之查找篇
  2. 基于Elasticsearch实现搜索建议
  3. MySQL之一致性检测及数据同步
  4. 【JAVA学习笔记】个人设定
  5. UVA 617 - Nonstop Travel(数论+暴力枚举)
  6. 像DW的应用源格式那样格式化VS里面的代码
  7. Redhat 5 配置DHCP服务器
  8. Android的应用程序结构分析:HelloActivity 第二部分【转】
  9. linux用户和组帐户管理
  10. Android桌面悬浮窗进阶,QQ手机管家小火箭效果实现