- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用Velocity模板引擎快速生成代码教程
使用 Velocity 模板引擎快速生成代码
Velocity 是一个基于 Java 的模板引擎,它允许任何人仅仅简单的使用模板语言来引用由 Java 代码定义的对象,从而实现界面和 Java 代码的分离,使得界面设计人员可以和 Java 程序开发人员同步开发一个遵循 MVC 架构的 web 站点。但是在实际应用过程中,Velocity 又不仅仅被用在了 MVC 的架构中。
3? HYPERLINK /developerworks/cn/java/j-lo-velocity1/ \l icomments 评论
HYPERLINK /developerworks/cn/java/j-lo-velocity1/ \l authorN1002A 刘 香, 软件工程师, companynameIBM
2014 年 11 月 03 日
内容
在 IBM Bluemix 云平台上开发并部署您的下一个应用。
HYPERLINK /sso/bmregistration?lang=zh_CNca=dwchina-_-bluemix-_-j-lo-velocity1-_-sidebar 开始您的试用
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 文件。
HYPERLINK /developerworks/cn/java/j-lo-velocity1/ \l ibm-pcon 回页首
Hello Velocity
和学习所有新的语言或者框架的顺序一样,我们从 Hello Velocity 开始学习。首先在 Velocity 的官网上 HYPERLINK /download.cgi 下载必威体育精装版的发布包,之后使用 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()).toStrin
您可能关注的文档
最近下载
- 17J008 挡土墙(重力式、衡重式、悬臂式)(必威体育精装版).pdf VIP
- 产学合作协同育人教学内容和课程体系改革项目申报书模板—基于计算思维的大学计算机课程思政案例构建与实践(包含申报书内容、合作方案、合作协议).docx
- 智能建造系统架构与发展路径.docx VIP
- 智能建造系统架构与发展路径.docx VIP
- 制药公司生产安全事故应急预案.docx
- 产学合作协同育人教学内容和课程体系改革项目申报书模板—工科程序设计类课程的课程思政教学探索(包含申报书内容、合作方案、合作协议).docx
- TOEFL单词完整版单词表(Excl).pdf VIP
- 2025年中考数学压轴题之相似(中考题型整理,突破提升)及答案解析 .pdf VIP
- 产学合作协同育人教学内容和课程体系改革项目申报书模板—线上线下混合式程序设计类一流课程探索实践(包含申报书内容、合作方案、合作协议).docx
- 广东省工程技术研究中心动态评估总结.pdf VIP
文档评论(0)