帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > JAVA编程 >
给JavaBeans增加XPath功能
作者:未知 发布时间:2005-03-12 来源:JSP天空网
本文是为ZDNet翻译的系列文章之一,原文已经发表在ZDNet网站

向一个JavaBean请求´addressbook[1].state.code´ 是现在还在使用的和JavaBeans 进行交互的一个通常的方法,但是你现在可以更进一步使用功能更强大的XPath规范。
创建XPath的目的是访问和修改XML中的数据,但是Apache Jakarta的一个新项目允许你将强大的XPath规范的功能应用到普通的JavaBeans上。
作为一个例子,我们使用具有下面的结构的JavaBean :
Person.name 是一个字符串 String
Person.age 是一个整数
Person.birthtown 是一个Town对象
Person.address 是一个Address 对象的数组

Town.name 是一个字符串

Address.number 是一个字符串
Address.street 是一个字符串
Address.town 是一个Town对象
(为了简单没有提供源代码)
对于给定的Person对象,你可以使用"name"得到对象的名字,你可以使用"birthtown/name"得到出身地的名字,你也可以使用"address[number=´21´]/town/name"得到和地址(例如21)关联的城镇的名字。
除了更强大以外,XPath 和通常的bean符号的主要不同是使用反斜线(´/´)而不是句点(´.´)分隔元素,一旦你习惯这个特征就都会变得很简单。
下面的代码展示了使用JXPath 将XPath 符号应用到我们的JavaBean 结构是多么的简单:
import org.apache.commons.jxpath.JXPathContext;

....
Person person = ....;
JXPathContext context = JXPathContext.newContext(person);
System.out.println(context.getValue("name"));
System.out.println(context.getValue("age"));
System.out.println(context.getValue("birthtown/name"));
System.out.println(context.getValue("address[number=´21´]/street"));
System.out.println(context.getValue("address[number=´21´]/town/name"));
....
XPath可以用于设置值或者创建beans,当然也可以读取值,关于XPath和它的JXPath的实现的更多信息请参考JXPath(http://cl.com.com/Click?q=07-HqWzI5r6thQfumBcRgUiQzxyYbfy)站点 。 
  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
无相关信息

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·放眼未来 帝国近期将有重大举措!
·PHPWind6.3.2版通行证发布
·帝国备份王2008版正式发布
·帝国备份王2008版发布
·phpcms2007转帝国CMS5.0程序发布
·dedecms5.1转帝国CMS5.0程序发布
·帝国网站管理系统V5.0商业购买说明
   类别最新
·谈谈JDBC
·JDBC专题介绍
·JDBC接口技术
·利用weblogic的POOL(连接池)连接
·Jsp中调用Oracle存储过程的小例子
·JSP数据库操作例程
·JSP数据库连接大全
·用连接池提高Servlet访问数据库的效
·一种简单JDBC连接池的实现
·数据库连接池Java实现小结
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统