快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
t;c:iterate select="/app/person" var="currPerson"> <ws:file template="templates/PersonClass.java.jet" path="{$org.eclipse.jet.resource.project.name}/{$currPerson/@name}.java"/> </c:iterate>

这将创建四个 Java 类文件:Chris.java、Nick.java、Lee.java 和 Yasmary.java。注意启动标记 path 属性中的 {$currPerson/@name} 字符串。既然 path 参数不需要 XPath 表达式(像 select 参数一样),{...} 字符告知 JET 引擎通过计算 XPath 表达式代替这部分字符串。$currPerson/@name 告诉引擎用 currPerson 节点(是定义在 iterate 标签中的变量)的 name 属性来代替其字符串。

此外,在 PersonClass.java.jet 模板中,它可以引用定义在 iterate 标签中的 currPerson 节点变量。例如,假设 PersonClass.java.jet 如下所示:

清单 3. PersonClass.java.jet

class <c:get select="$currPerson/@name" />Person {
  public String getName() {
    return "<c:get select="$currPerson/@name" />";
  }
  public void shout() {
    System.out.println("Hello!!!");
  }
}

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

时间:2011-11-29 IBM Chris Aniszczyk

Yasmary.java 的形式将如下:

清单 4. Yasmary.java

class YasmaryPerson {
  public String getName() {
    return "Yasmary";
  }
  public void shout() {
    System.out.println("Hello!!!");
  }
}

Lee.java 的形式如下:

清单 5. Lee.java

class LeePerson {
  public String getName() {
    return "Lee";
  }
  public void shout() {
    System.out.println("Hello!!!");
  }
}

c:choose 和 c:when 这些标签允许模板根据值有条件地转储文本。例如,下列代码:

清单 6. c:choose/c:when 示例

<c:iterate select="/app/person" var="p" >
  <c:choose select="$p/@gender" >
    <c:when test="''Male''" > Brother </c:when>
    <c:when test="''Female''" > Sister </c:when>
  </c:choose>
</c:iterate>

将输出:

Brother

Brother

Brother

Sister

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

时间:2011-11-29 IBM Chris Aniszczyk

注意 c:when 标签需要 test 参数,这需要一个 XPath 表达式。既然我们要通过一个常量比较 select 参数,可用单引号 ('''') 包含常量。

c:set 该标签允许模板动态更改输入模型的属性。一个例子是:在一个字符串以多个方式映射输出文本时,像 Chris 可能映射到 Chris、chris、ChrisClass、CHRIS_CONSTANT 等。c:set 将其内容设置为指定的属性。下面的例子为每个人存储名为 className 的属性并在名字之后简单添加词 Class。

清单 7. c:set 例子

<c:iterate select="/app/person" var="p" >
  <c:set select="$p" name="className" >
  <c:get select="$p/@name" />Class</c:set>
</c:iterate>

setVariable 该标签允许模板声明和使用一个全局变量,使用 XPath 的全部能力来在任何时候操纵该变量。例如,假设要输出在输入模型中提供了多少个 person 节点。可以利用以下代码:

清单 8. c:setVariable 示例

<c:setVariable select="0" var="i" />

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