- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用Velocity模板引擎快速生成代码分析
使用 Velocity 模板引擎快速生成代码
Velocity 是一个基于 Java 的模板引擎,它允许任何人仅仅简单的使用模板语言来引用由 Java 代码定义的对象,从而实现界面和 Java 代码的分离,使得界面设计人员可以和 Java 程序开发人员同步开发一个遵循 MVC 架构的 web 站点。但是在实际应用过程中,Velocity 又不仅仅被用在了 MVC 的架构中。
3?评论
刘 香, 软件工程师, companynameIBM
2014 年 11 月 03 日
内容
在 IBM Bluemix 云平台上开发并部署您的下一个应用。
开始您的试用
Velocity 模板引擎介绍
在现今的软件开发过程中,软件开发人员将更多的精力投入在了重复的相似劳动中。特别是在如今特别流行的 MVC 架构模式中,软件各个层次的功能更加独立,同时代码的相似度也更加高。所以我们需要寻找一种来减少软件开发人员重复劳动的方法,让程序员将更多的精力放在业务逻辑以及其他更加具有创造力的工作上。Velocity 这个模板引擎就可以在一定程度上解决这个问题。
Velocity 是一个基于 Java 的模板引擎框架,提供的模板语言可以使用在 Java 中定义的对象和变量上。Velocity 是 Apache 基金会的项目,开发的目标是分离 MVC 模式中的持久化层和业务层。但是在实际应用过程中,Velocity 不仅仅被用在了 MVC 的架构中,还可以被用在以下一些场景中。
1.Web 应用:开发者在不使用 JSP 的情况下,可以用 Velocity 让 HTML 具有动态内容的特性。
2. 源代码生成:Velocity 可以被用来生成 Java 代码、SQL 或者 PostScript。有很多开源和商业开发的软件是使用 Velocity 来开发的。
3. 自动 Email:很多软件的用户注册、密码提醒或者报表都是使用 Velocity 来自动生成的。使用 Velocity 可以在文本文件里面生成邮件内容,而不是在 Java 代码中拼接字符串。
4. 转换 xml:Velocity 提供一个叫 Anakia 的 ant 任务,可以读取 XML 文件并让它能够被 Velocity 模板读取。一个比较普遍的应用是将 xdoc 文档转换成带样式的 HTML 文件。
回页首
Hello Velocity
和学习所有新的语言或者框架的顺序一样,我们从 Hello Velocity 开始学习。首先在 Velocity 的官网上下载必威体育精装版的发布包,之后使用 Eclipse 建立普通的 Java 项目。引入解压包中的 velocity-1.7.jar 和 lib 文件夹下面的 jar 包。这样我们就可以在项目中使用 Velocity 了。
在做完上面的准备工作之后,就可以新建一个叫 HelloVelocity 的类,代码如下:
清单 1. HelloVelocity.java
public class HelloVelocity {
public static void main(String[] args) {
VelocityEngine ve = new VelocityEngine();
ve.setProperty(RuntimeConstants.RESOURCE_LOADER, classpath);
ve.setProperty(classpath.resource.loader.class, ClasspathResourceLoader.class.getName());
ve.init();
Template t = ve.getTemplate(hellovelocity.vm);
VelocityContext ctx = new VelocityContext();
ctx.put(name, velocity);
ctx.put(date, (new Date()).toString());
List temp = new ArrayList();
temp.add(1);
temp.add(2);
ctx.put(list, temp);
StringWriter sw = new StringWriter();
t.merge(ctx, sw);
System.out.println(sw.toString());
}
}
在 HelloVelocity 的代码中,首先 new 了一个 VelocityEngine 类,这个类设置了 Velocity 使用的一些配置,在初始化引擎之后就可以读取 hellovelocity.vm 这个模板生成的 Template 这个类。之后的
您可能关注的文档
- 作物育种学试题库分析.doc
- 作文指导《我的课余生活》分析.ppt
- 南磨房地区“安全生产月”之“安康杯”知识竞赛参考题库解析.doc
- 你必须有一个不可动摇的第一分析.ppt
- 你比划我来猜游戏分析.ppt
- 作文训练(说真话__抒真情分析.ppt
- 你平时有什么爱好分析.ppt
- 南通2016二模解析.doc
- 南通市2016届高三第二次调研测试解析.doc
- 你就是一道风景(定稿)分析.ppt
- 甘肃省两当县《一级注册建筑师之建筑物理与建筑设备》资格考试必背100题大全及答案【夺冠系列】.docx
- 甘肃省临夏县2023-24年《一级注册建筑师之建筑物理与建筑设备》考试必背100题真题含答案(培优).docx
- 甘肃省临夏县2023-2024年《一级注册建筑师之建筑物理与建筑设备》考试必刷100题真题及参考答案.docx
- 甘肃省两当县完整版《一级注册建筑师之建筑物理与建筑设备》考试真题加答案.docx
- 甘肃省两当县内部使用《一级注册建筑师之建筑物理与建筑设备》资格考试题库(名校卷).docx
- 甘肃省两当县内部使用《一级注册建筑师之建筑物理与建筑设备》资格考试必背100题王牌题库附参考答案(名.docx
- 甘肃省两当县内部使用《一级注册建筑师之建筑物理与建筑设备》资格考试必背100题王牌题库附参考答案(名.docx
- 甘肃省两当县《一级注册建筑师之建筑物理与建筑设备》资格考试通关秘籍题库(考点梳理).docx
- 甘肃省两当县整理《质量员之设备安装质量基础知识》资格考试真题含答案(典型题).docx
- 甘肃省两当县完整版《一级注册建筑师之建筑物理与建筑设备》考试题库加答案下载.docx
文档评论(0)