使用JET在Eclipse中创建更多更好的代码 - 编程入门网
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 AniszczykYasmary.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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |