Velocity入门指南——第一章 快速入门

作者:无名    it人知识库   2020-09-16 00:00:00

1    简介

Velocity是一款基于Java的模板引擎。它允许Web页面设计者引用Java代码中定义的方法。Web设计者能与根据Model-View-Controller (MVC)模型开发Web网站的Java程序员合作,意味着Web页面设计者能将注意力放在创建设计精良的网站,而程序员能将注意力放在编写代码上。Velocity从Web页面中分离Java代码,使Web网站在长时间运行时更可维护性和提供Java Server Pages(JSP)或PHP的替代方案。

Velocity能用于从模板产生Web页面、SQL、PostScript和其它输出。它能用于作为单独的工具类生成源码和报表,或作为其它系统的一个整合组件。Velocity将为Turbine Web应用程序框架提供模板服务。Velocity+Turbine将提供模板服务允许Web应用程序根据真实MVC模型开发。

2    安装

  • JDK(必须)

  • Jakarta Commons Collections(必须)

  • Jakarta Commons Lang(必须)

  • Excaliburex-AvalonLogkit(可选,如果使用默认的基于文件的日志时需要)

  • Jakarta ORO可选,当使用org.apache.velocity.convert.WebMacro模板转换工具或org.apache.velocity.app.event.implement.Escape Reference ReferenceInsertionEventHandler时使用

3    实践

3.1    基本步骤

  • 初始化Velocity

  • 创建Context对象

  • 添加数据对象到Context

  • 选择模板

  • “合并”模板和数据产生输出

3.2    单例

模板:

Velocity入门指南——第一章 快速入门

${word}

代码:

Velocity.init();

VelocityContext context = new VelocityContext();

context.put( "word", "Hello Velocity!");

// 模板路径默认是当前项目的根目录

Template template = Velocity.getTemplate("src/main/java/com/study/velocity/HelloWord.vm");

StringWriter sw = new StringWriter();

template.merge(context, sw);

System.out.println(sw);

3.3    多例

与单例不同,多例可以在用一个JVM或Web应用程序中维护多组配置。

VelocityEngine ve = new VelocityEngine();

ve.init();

Template t = ve.getTemplate("src/main/java/com/study/velocity/HelloWord.vm");

StringWriter sw = new StringWriter();

VelocityContext context = new VelocityContext();

context.put( "word", "Hello Velocity!");

t.merge(context, sw);

System.out.println(sw);

it人知识库 该篇文章地址:https://m.itpeo.net/15310/3710245.html

Tag:入门指南第一章快速



我要分享:

  • 微信
  • QQ好友
  • QQ空间
  • 新浪微博


热门推荐

Velocity入门指南——第三章 引用

Velocity入门指南——第三章 引用

在VTL中,有三种类型的引用:变量、属性和方法。 1    变量... ...

JAVA程序员面试32问(附答案)(转载)

JAVA程序员面试32问(附答案)(转载)

第一,谈谈final, finally, finalize的区别。       第二... ...

qq项目第一天(java JFrame 标题栏 最小化 最大化 拖动窗体)

qq项目第一天(java JFrame 标题栏 最小化 最大化 拖动窗体)

运行结果截图: 源码暂时不上传,有希望一起学习的 可以加:151648295 今天本来不止做这么... ...

设计模式--->工厂模式

设计模式--->工厂模式

静态工厂模式: public interface Car {  pub... ...

设计模式--->观察者模式

设计模式--->观察者模式

   观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式、模... ...

方正T630NVUT630N-440

方正T630NVUT630N-440

<iframe name="google_ads_frame" marginwidth="0" marginhei... ...

学习笔记-android imageSwitcher使用

学习笔记-android imageSwitcher使用

照片切换控件imageSwitcher实现照片上一张、下一张的切换,使用时要实现ViewFactory接口,从而将显示的... ...

ORACLE闪回功能开启和使用

ORACLE闪回功能开启和使用

闪回功能在ORACLE中默认是关闭的,需要按照下面的方式开启: Sql>startup mount Sq... ...

openfire 源代码搭建 开发环境(一)

openfire 源代码搭建 开发环境(一)

1、搭建好java开发环境,要求是在jdk1.6以上   2、在http://www.ignit... ...

[Repeater]导出为excel格式

[Repeater]导出为excel格式

Repeater导出为excel格式 数据绑定到Repeater1 ,下面是将Repeater1的内容导出的示例代码 ... ...

ADO.NET的主要组件

ADO.NET的主要组件

ADO.NET提供了用于访问和操作数据的两个主要组件是 .NET Framework 数据提供程序和 DataSe... ...

C++11新特性中的匿名函数Lambda表达式的汇编实现分析(二)

C++11新特性中的匿名函数Lambda表达式的汇编实现分析(二)

C++11新特性中的匿名函数Lambda表达式的汇编实现分析(一) 首先,让我们来看看以&方式进行变量... ...

C++11新特性中的匿名函数Lambda表达式的汇编实现分析(三)

C++11新特性中的匿名函数Lambda表达式的汇编实现分析(三)

C++11新特性中的匿名函数Lambda表达式的汇编实现分析(一) C++11新特性中的匿名函数Lambda表... ...

[zt]Ajax 和 XML: 五种常见 Ajax 模式

[zt]Ajax 和 XML: 五种常见 Ajax 模式

可立即使用这些非常有用的 Ajax 设计模式 ... ...

MDA:Jean网站上的定义和资源

MDA:Jean网站上的定义和资源

继续纠缠MDA的定义 转自 http://www.sciences.univ-nantes.fr/info/lrsg... ...

Spring Framework 4.0M1 & 3.2.3 发布了[翻译]

Spring Framework 4.0M1 & 3.2.3 发布了[翻译]

今天早上去SpringSource官网,发现Spring Framework 4.0发布了,我认为最重要的两个特性... ...

简单说一下Jfinal Model静态dao对象误用的问题

简单说一下Jfinal Model静态dao对象误用的问题

   最近有很多jfinal的使用者在误用model静态dao,这里简单的说一下这个问题, @... ...

职业生涯第二年回顾(2011.2~2012.2)

职业生涯第二年回顾(2011.2~2012.2)

 算不上什么工作总结和技术总结,只是大致回顾这1年记忆中的事情。    一... ...

使用import简化spring的配置文件 (转载)

使用import简化spring的配置文件 (转载)

Spring中用import导入配置文件 原文地址:使用import简化spring的配置文件 (转载)作者:瓦砾... ...

每天十分钟,十二天入门Python(十)

每天十分钟,十二天入门Python(十)

# __str__() class Dog(object):     de... ...

最新IT资讯

必填

◎已有 0 人评论


电脑版

版权所有:IT人知识库 m.itpeo.net

返回顶部

本网站部分内容来自互联网,版权归原作者所有,文章内容仅代表原作者个人观点,如有侵权请联系我们删除