快速业务通道

使用EMP进行建模,第2部分:使用Eclipse的Java Emitter Templates生成代码 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18

使用EMP进行建模,第2部分:使用Eclipse的Java Emitter Templates生成代码

时间:2011-03-26 IBM Adrian Powell

Java Emitter Templates(JET)概述

开发人员通常都使用一些工具来生成常用的代码。Eclipse 用户可能对一些标准的工 具非常熟悉,这些工具可以为选定的属性生成 for(;;) 循环, main() 方法, 以及选定 属性的访问方法。将这些简单而机械的任务变得自动化,可以加快编程的速度,并简化编 程的过程。在某些情况中,例如为 J2EE 服务器生成部署代码,自动生成代码就可以节省 大量时间,并可以隐藏具体实现特有的一些复杂性,这样就可以将程序部署到不同的 J2EE 服务器上。自动生成代码的功能并不只是为开发大型工具的供应商提供的,在很多 项目中都可以使用这种功能来提高效率。Eclipse 的 JET 被包装为 EMF 的一部分,可以 简单而有效地向项目中添加自动生成的代码。本文将介绍在各种环境中如何使用 JET 。

JET 是什么?

JET 与 JSP 非常类似:二者使用相同的语法,实际上在后台都被编译成 Java 程序; 二者都用来将呈现页面与模型和控制器分离开来;二者都可以接受输入的对象作为参数, 都可以在代码中插入字符串值(表达式),可以直接使用 Java 代码执行循环、声明变量 或执行逻辑流程控制(脚本);二者都可以很好地表示所生成对象的结构,(Web 页面、 Java 类或文件),而且可以支持用户的详细定制。

JET 与 JSP 在几个关键的地方存在区别。在 JET 中,可以变换标记的结构来支持在 不同的语言中生成代码。通常 JET 程序的输入都是一个配置文件,而不是用户的输入( 当然也不禁止这样使用)。而且对于一个给定的工作流来说,JET 通常只会执行一次。这 并不是技术上的限制;您可以看到 JET 有很多完全不同的用法。

开始

创建模板

要使用 JET,创建一个新 Java 项目 JETExample ,并将源文件夹设置为 src 。为了 让 JET 启用这个项目,请点击鼠标右键,然后选择 Add JET Nature。这样就会在新项目 的根目录下创建一个 templates 目录。JET 的缺省配置使用项目的根目录来保存编译出 来的 Java 文件。要修改这种设置,打开该项目的 properties 窗口,选择 JET Settings,并将 source container 设置为 src 。这样在运行 JET 编译器时,就会将编 译出来的 JET Java 文件保存到这个正确的源文件夹中。

现在我们已经准备好创建第一个 JET 了。JET 编译器会为每个 JET 都创建一个 Java 源文件,因此习惯上是将模板命名为 NewClass.javajet ,其中 NewClass 是要生成的类 名。虽然这种命名方式不是强制的,但是这样可以避免产生混乱。

首先在模板目录中创建一个新文件 GenDAO.javajet 。这样系统会出现一个对话框, 警告您在这个新文件的第 1 行第 1 列处有编译错误。如果您详细地看以下警告信息,就 会发现它说 "The jet directive is missing"(没有 jet 指令)。虽然这在技术上没有 什么错误,因为我们刚才只不过是创建了一个空文件,但是这个警告信息却很容易产生混 乱并误导我们的思路。单击 ''OK'' 关闭警告对话框,然后单击 ''Cancel'' 清除 New File 对话框(这个文件已经创建了)。为了防止再次出现这种问题,我们的首要问题是创建 jet 指令。

每个 JET 都必须以 jet 指令开始。这样可以告诉 JET 编译器编译出来的 Java 模板 是什么样子(并不是模板生成了什么内容,而是编译生成的模板类是什么样子;请原谅, 这个术语有些容易让人迷惑)。此处还要给出一些标准的 Java 类信息。例如,在下面这 个例子中使用了以下信息:

清单 1. 样例 jet 声明

<%@ jet    package="com.ibm.pdc.example.jet.gen"    class="GenDAO"    imports="java.util.* com

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号