使用EMP进行建模,第2部分:使用Eclipse的Java Emitter Templates生成代码 - 编程入门网
.ibm.pdc.example.jet.model.*"
%>
清单 1 的内容是真正自解释的。在编译 JET 模板时,会创建一个 Java 文件 GenDAO ,并将其保存到 com.ibm.pdc.example.jet.gen 中,它将导入指定的包。重复一遍,这 只是说明模板像什么样子,而不是模板将要生成的内容 -- 后者稍后将会介绍。注意 JET 输出结果的 Java 文件名是在 jet 的声明中定义的,它并不局限于这个文件名。如果两 个模板声明了相同的类名,那么它们就会相互影响到对方的变化,而不会产生任何警告信 息。如果您只是拷贝并粘贴模板文件,而没有正确地修改所有的 jet 声明,那就可能出 现这种情况。因为在模板目录中创建新文件时会产生警告,而拷贝和粘贴是非常常见的, 因此要自己小心这个问题。 JSP 可以通过预先声明的变量(例如会话、错误、上下文和请求)获取信息, JET 与 此类似,也可以使用预先声明的变量向模板传递信息。JET 只使用两个隐式的变量: stringBuffer ,其类型为 StringBuffer (奇怪吧?),它用来在调用 generate() 时 构建输出字符串;以及一个参数,出于方便起见,我们称之为 argument ,它是 Object 类型。典型的 JET 模板的第一行会将其转换为一个更适合的类,如清单 2 所示。 清单 2. JET 参数的初始化
正如您可以看到的一样,JET 的缺省语法与 JSP 相同:使用 <%...%> 包括代 码,使用 <%= ... %> 打印表达式的值。与 JSP 类似,正确地使用 <% ... % > 标签就可以添加任何逻辑循环或结构,就像是在任何 Java 方法中一样。例如: 清单 3. 脚本和表达式
使用EMP进行建模,第2部分:使用Eclipse的Java Emitter Templates生成代码(2)时间:2011-03-26 IBM Adrian Powell在定义完 JET 之后,保存文件并在包浏览器中在这个文件上点击鼠标右键,选择 Compile Template。如果一切正常,就会在 com.ibm.pdc.example.jet.gen 包中创建一 个类 GenDAO 。其中只有一个方法 public String generate(Object argument) (参见 清单 4),这样做的结果就是在 javajet 模板中定义的内容。 清单 4. 一个基本的 JET 编译后的 Java 类,其功能是打印 "Hello <% =argument%>"
编写好模板之后,您可能就会注意到一些公共的元素,这些元数会反复出现,例如所 有生成的代码中都添加的版权信息。在 JSP 中,这是通过 include 声明处理的。将所有 想要添加的内容都放到一个文件中,并将该文件命名为 ''copyright.inc'',然后在 javajet 模板中添加 <%@ incl |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |