Jelly组件的XML脚本处理法

ZDNet软件频道 时间:2002-11-18 作者:BUILDER.COM |  我要评论()
本文关键词:
Jelly是一种来自Jakarta的新脚本处理模型,它允许开发人员使用XML来编写脚本。Jelly功能强大、灵活、好用——更重要的是,它很容易扩展。

Jelly是一种来自Jakarta的新脚本处理模型,它允许开发人员使用XML来编写脚本。要留心的是,这不仅仅是XML的另一个用途。Jelly功能强大、灵活、好用——更重要的是,它很容易扩展。

现在我们利用Listing A里的简单例子来开始学习使用Jelly。你可以在这里找到本文里所涉及程序的完整代码。

Jelly库

Jelly内置了相当多的库,这列在了A里。在我们的例子里使用了三个:

  • 核心(Core)
  • 日志(Log)
  • 交互(Interaction)

通过被分派给XML命名空间,库就可以使用了。在XML声明后的第一个标签<j:jelly>里,我们分派三个命名空间:j、l和i。第一个嵌套标签使用了交互标签库。这个库允许你捕捉来自用户的输入。在这里,你请求得到用户名,并提供了一个匿名用户的缺省值。用户输入的结果保存在变量name里。第二个标签使用了日志库。它输出一些文本并在其中用到了name变量。

表A

Jelly库

jelly:core

jelly:xml

jelly:define

jelly:sql

jelly:jsl

jelly:ant

jelly:werkz

jelly:ojb

jelly:jms

jelly:validate

jelly:http

jelly:interaction

jelly:antlr

jelly:util

jelly:html

jelly:junit

jelly:swing

jelly:quartz

jelly:betwixt

jelly:dynabean

jelly:log

jelly:soap

jelly:jetty

jelly:beanshell

jelly:jeez

jelly:email

jelly:bean

 

 

 

 

全部细节见标签参考

Jelly的可扩展性

Jelly的一个显著特性是可扩展性。任何常规的JavaBean都能够被绑定到一个XML标签上。JavaBean没有必要扩展任何特别的类或者实现任何特别的接口。如果它支持一个可以调用的方法,例如run()invoke()或者execute(),在所有适当的设置器被调用以后这个方法才会被调用。如果想要调用一个不同的方法,你可以声明它,就像Listing B所示的这样

Listing B里的类能够通过Listing C里的代码使用Jelly来访问。

Jelly和Ant

Jelly允许对所有已经存在的Ant库进行完全访问。这让使用Ant丰富的工具集来开始编写脚本变得简单起来。例如,使用来自Jelly里的交互和ant库,你能够使用可选的备份功能轻易地编写一个目录复制脚本。(见dircopy.jelly。)

这个Jelly脚本会要你指定一个源目录和目标目录,然后会问你是否想要创建一个备份。如果你回答“是”(这是缺省的选择),它会要你指定一个文件名。脚本会把源目录里的所有的文件都复制到目标目录,如果你回答了“是”,它就创建一个指定目录的tar.gz文件。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134