快速业务通道

使用JET在Eclipse中创建更多更好的代码 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
ype="UDP" >       <logToFile name="packet_types" />     </packet>   </sniffer> </app>

蓝图将转换这些输入参数为实现该网络嗅探器的代码。蓝图的参数可视为自定义编程语言,而蓝图扮演 “编译器” 的角色,将输入转换为本机工件。2. 控制文件 这些文件控制代码生成的执行。控制标记中最重要的标记是 <ws:file>,它将执行一个模板并将结果转储至指定的文件。代码生成执行从 main.jet 开始,这与程序的 main 函数类似。3. 模板文件 模板文件指定如何以及何种情况下生成文本。该文本可以是代码、配置文件或其他。

使用JET在Eclipse中创建更多更好的代码(4)

时间:2011-11-29 IBM Chris Aniszczyk

XPath

既然任何 JET 蓝图的输入都是一个 XML 模型,XPath 语言被用来引用节点和属性。此外,在表达式里 XPath 有自己的参数使用方式,这在 JET 里使用得非常多。要点如下:

路径表达式 与文件系统路径相似。路径是由斜杠分开的一系列步(/)。

从左向右估算步,如果这样做,通常会下行模型树。

每步通过其名字定义树节点(尽管存在其他可能性)。

在步的结尾,步可以在方括号([ 和 ])中编写可选的过滤器条件。

初始斜杠(/)指示表达式开始于模型树的根。

路径表达式还可以以变量开始,变量是以美元符号($)开头的名字。

关于 JET 中的 XPath ,应记住以下几个要点:

变量是由几个 JET 标记定义的 - 注意 var 属性。它们可能也是由 c:setVariable 标签定义的。

需要路径表达式的 JET 标签有一个 select 属性。

任何标签属性都可能包含一个动态的 XPath 表达式,是由括号({ 和 })所包含的 XPath 表达式。

JET 标签

下例将使用下列输入模型。

清单 2. 输入模型

<app middle="Hello" >
  <person name="Chris" gender="Male" />
  <person name="Nick" gender="Male" />
  <person name="Lee" gender="Male" />
  <person name="Yasmary" gender="Female" />
</app>

ws:file 该标签属于蓝图的 control 部分,它初始化一个模板。例如:

<ws:file template="templates/house.java.jet"
path="{$org.eclipse.jet.resource.project.name}/house1.java">

使用JET在Eclipse中创建更多更好的代码(5)

时间:2011-11-29 IBM Chris Aniszczyk

将在输入模型上运行 house.java.jet 模板并将结果转储在 $(Project Root)/house1.java 中。{$org.eclipse.jet.resource.project.name} 是一个动态 XPath 表达式,用 org.eclipse.jet.resource.project.name 变量的值替换部分字符串。该变量是由 JET 引擎定义的。c:get 该标签将输出 XPath 表达式的结果。例如,Pre<c:get select="/app/@middle" />Post 将输出 PreHelloPost。注意 select 参数将使用 XPath 表达式。要在期望静态字符串的参数中使用 XPath 表达式,可以通过将表达式封装在括号({ 和 })中来调用动态 XPath 表达式。c:iterate

该标签将遍历具有特定名称的节点,为每个节点执行 iterate 的主体。例如:

<c:iterate select="/app/person" var="currNode" delimiter="," >
Name = <c:get select="$currNode/@name" />
</c:iterate>

将输出 Name = Chris, Name = Nick, Name = Lee, Name = Yasmary。

iterate 标签通常也用于控制模板的其实标记。例如,如果要为模型中的每个人创建 Java™ 类,可使用如下代码:

&l

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号