网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.眼低手高,教初学者如何学习Hiber.
.基础篇:Java语言的基本组成.
.引用 造型 protected和private的.
.在servlet中直接写端口发送邮件的.
.JAVA数组和JAV集合类的操作.
.Java大师:曾为C#语言辗转难眠.
.EJB设计模式3.
.Java Web Server2.0.
.分布式Observer模式最佳实践.
.J2EE开发平台.
.详细讲解怎样在Java中运行其它应.
.从.NET应用程序访问MicrosoftOff.
.Java核心代码例程之:java.policy.
.入门基础:Java用synth自定义皮肤.
.通过Push信息来自动启动JAVA移动.
.如何在JBuilder2007中配置MyEcli.
.Java技巧使用管道数据流传送数据.
.Collections API定制实现(一).
.JAVA新手必备:Java基础之关键字.
.The Xlet Application Model.

给JavaBeans增加XPath功能

发表日期:2008-1-5


向一个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)站点 。 

注:本文是为ZDNet翻译的系列文章之一,原文已经发表在ZDNet网站


上一篇:给你的Java应用程序加上日志功能 人气:1118
下一篇:更方便,更强大的分页方式 人气:1229
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐