给JavaBea 增加XPath功能

文章作者 100test 发表时间 2008:02:01 14:53:10
来源 100Test.Com百考试题网


向一个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 结构是多么的简单:
i  mport 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站点 。


相关文章


J2EE项目中开发团队的组建-j2ee
《Java应用程序中的按值传递语义》的理解
J2ME开发中常见属性(Property)及其作用列表
JDBC和ODBC(转)-java基础
给JavaBea 增加XPath功能
JavaDevelopmentKit爆严重漏洞
j2me中使用颜色和字体
J2EE程序中SQL语句自动构造方法讲解
AjaxFeeling框架使用方法讲解
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛