`
宋双旺
  • 浏览: 156945 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

velocity学习

阅读更多

Velocity是一个通用的基于JAVA的模板开发引擎。是Apache中Jakarta项目中的一个子项目。
可以用于任何需要对数据进行格式化或表现数据的JAVA应用。
模板语法VTL。
优点:应用邻域广、提供了VTL、简单的编程模式、对逻辑和表现分别进行维护,集成到任何JAVA的应用环境中、访问任何JAVA对象的任何公有 方法。符合MVC的开发模式。
邻域:WEB应用、源代码和SQL语句的生成、XML的处理和转换、文字处理。
例子:
velocity.init();
velocitycontext context = new velocitycontext();
context.put("name","yangqi");
template tm =velocity.gettemplate("*.vm");
stringwriter w = new stringwriter();
tm.merge(context,w);
out.println(w)
程序员:要确定要开发的页面要用到哪些内容,定义变量名称和类型。然后就是JAVA代码的编写。可以在servlet和普通java中使用。
修改velocity的配置文件的方法:
1、velocity.setproperty(string key,object value)
   velocity.init();
2、velocity.init(properties p);
3、velocity.init(string filename);
要修改的是:模板文件的存放路径、输入的编码方式和输出的编码方式。
velocity基本类:org.apache.velocity.app.velocity
velocity容器类:org.apache.velocity.velocitycontext
velocity模板类:org.apache.velocity.template
可以把velocitycontext对象看成一个hashtable,把需要的数据使用PUT方法放进去就好了,但放进去的数据必须是一个 java对象object.
//////////////////////////////////////////////////////////////////////
Velocity使用Iterator类来实现对集合元素的遍历(模板语言中使用#foreach语句),这样在我们把集合或者数组放入 context中去的时候就有必要了解以下Velocity对不同的集合对象的处理:
Object[]:Velocity会自动转换对象数组为相应的集合类型以获得Iterator接口对象。
java.util.Collection:Velocity将使用Collection.iterator()接口来获得Iterator对 象,如果你自己继承一个Collection对象,请保证实现Iterator()接口能获得正确的Iterator对象。
java.util.Map:Velocity使用Map的values()方法来获得相应的Collection对象从而可以获得 Iterator对象。
java.util.Iterator :Velocity不推荐直接使用Iterator对象,尽管Velocity暂时支持这一点。理由是Iterator对象是不可以重置的,一个 Iterator对象被遍历过一遍之后,不能再重头开始一次遍历,也就是说,一个Iterator对象在模板中只能循环一次。
java.util.Enumeration :和Iterator对象一样,Velocity不推荐使用枚举对象,因为不能再次循环。
//////////////////////////////////////////////////////////

velocity基于servlet的开发方式。继承下面的基类

org.apache.velocity.servlet.velocityservlet而不是 javax.servlet.http.httpservlet
要重载方法public Template handleRequest( HttpServletRequest request, HttpServletResponse response, Context ctx)
模板语言(VTL)给页面开发者使用
"$"打头是VTL变量,"#"打头表示这个是一个VTL指令
VTL语言中存在三种引用:变量、属性和方法。模板中使用的这三种引用Velocity都会转换为相应的JAVA方法。Velocity是通过调 用JAVA对象的tostring()方法来实现替换的。
$user.name属性Velocity将转换为java语言的User.getName()
普通引用$my_first-name     哑引用$!my_first-name    正式引用:${my_first-name}
#set--变量定义和赋值指令
#if--条件判断指令
#foreach--数组循环遍历指令
Velocity提供一个循环计数器$velocityCount供使用
#include--文件包含指令
#parse--模板解析指令
#stop--停止指令
#marco--自定义宏(函数)
默认的模板库文件名为“VM_global_library.vm”
配置参数
velocimacro.library = vm_global_library.vm
velocimacro.permissions.allow.inline=true
Velocity使用了WebMacro的思想,实际上就是webmacro的另外一个实现。

分享到:
评论

相关推荐

    velocity学习笔记

    ### Velocity学习笔记精要 **一、Velocity简介与特点** Velocity是一种基于Java的模板引擎,用于将静态数据和动态内容结合在一起,生成最终的HTML、XML或其他格式的文档。其最大的特点是性能高、易于理解和使用,...

    velocity学习资料.zip

    在这个“velocity学习资料.zip”压缩包中,可能包含了关于Velocity的基本概念、语法、最佳实践以及一些示例代码,帮助初学者或有经验的开发者更好地理解和应用Velocity。 Velocity的工作原理基于MVC(Model-View-...

    Velocity学习Web项目

    【Velocity学习Web项目】 Velocity是Apache软件基金会的一个开源项目,它是一个基于Java的模板引擎,用于生成动态网页内容。在J2EE环境中,Velocity经常与Struts等MVC框架结合使用,以提供更加灵活和高效的视图层...

    velocity学习资料

    总的来说,Velocity学习资料可以帮助你掌握如何使用Velocity模板引擎来生成动态内容,理解VTL语法,以及如何在Java应用中集成和使用Velocity。通过深入学习和实践,你将能够有效地将业务逻辑和视图层分离,提高代码...

    Velocity 学习实例

    【Velocity 学习实例】 Velocity 是一款开源的 Java 模板引擎,它允许开发者将静态文本与 Java 代码相结合,从而生成动态内容。这个“Velocity 学习实例”旨在帮助我们深入理解 Velocity 的核心概念、语法特性以及...

    velocity学习指南

    【Velocity学习指南】 Velocity是一个基于Java的模板引擎,它的核心功能是将静态的HTML模板与动态的Java代码相分离,让网页设计者专注于页面布局和样式,而开发者则专注于业务逻辑。Velocity允许用户通过简单的模板...

    Velocity学习指南

    ### Velocity学习指南 #### 1. Velocity 是什么? Velocity 是一款强大的开源模板引擎,它能够帮助开发者轻松地在 Java 应用程序中嵌入动态内容。该引擎支持一种简洁直观的模板语言,即 Velocity 模板语言 (VTL),...

    velocity 学习进阶

    **Velocity 学习进阶** Velocity 是一个基于 Java 的模板引擎,它允许开发者将静态文本与 Java 代码相融合,从而生成动态内容。这个技术在Web开发中被广泛应用,尤其是在生成HTML页面时,提供了一种简便的方式来将...

    Velocity学习资料

    ### Velocity学习资料详解 #### 一、Velocity简介与特性 Velocity是一种基于Java的模板引擎,它的设计目的是使得非程序员能够轻松地使用模板语言来引用Java代码定义的对象。相较于JSP和其他视图技术,Velocity在可...

    Velocity学习指南(中文版).rar

    Velocity用户指南旨在帮助页面设计者和内容提供者了解Velocity和其简单而又强大的脚本语言(Velocity Template Language (VTL))。本指南中有很多示例展示了用Velocity来讲动态内容嵌入到网站之中,但是所有的VTL ...

    Velocity学习指南.doc

    Velocity是一个强大的基于Java的模板引擎,它是Apache软件基金会的Jakarta项目的一部分。...Velocity通过使用简单的模板语言(Velocity ...无论是在Web应用还是在其他领域,Velocity都是一个值得学习和使用的工具。

    velocity学习笔记与struts2整合

    Velocity是Apache软件基金会的一个开源项目,它是一款快速、强大且易用的模板引擎,用于生成动态Web内容。在Java世界中,Velocity常被用来作为MVC框架中的视图层技术,与Struts2等框架集成,以实现更灵活的页面渲染...

    velocity中文

    **Velocity中文手册与学习资料详解** Velocity是一款基于Java的模板引擎,它允许开发者将HTML页面设计与业务逻辑相分离,让网页设计人员专注于页面布局,而程序员则专注于编写控制逻辑。Velocity通过简单的语法使得...

    velocity学习文档

    1. **配置 Velocity**: 学习如何设置Velocity的配置文件,如velocity.properties,以调整引擎的行为,比如模板的编码、缓存策略等。 2. **创建并运行模板**: 了解如何创建模板文件,以及如何使用VelocityEngine实例...

Global site tag (gtag.js) - Google Analytics