预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共11页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Flex与JSON及XML的互操作 作者:Dason更多信息:http://dasondj.blog.163.com Flex之于Java,就像美丽之于大脑,或者还有别的说法?谁能告诉我?我所知 道的是,Flex和Java真的是能配合得很好,能创建出难以置信的富Internet 应用(RIA)。你会问Flex是什么?Flex是一个开源框架,你可以通过基于标 签的MXML语言(以及ActionScript3)来构建Flash应用。 请观看:Jack有关Flex与JSON及XML互操作的演讲(QuickTime格式,33MB)。 你可以从Adobe的站点下载(http://adobe.com/flex)FlexIDE即所谓Flex Builder,并由此开始你的开发之旅。FlexBuilder是个商业产品,但它有很长 的免费试用阶段,能让你有足够时间想清楚是不是值得掏这个钱。在这篇文章中, 我会演示如何一起使用Flex和Java。Java会运行在服务器端,而Flex运行在 客户端。这两端间的通信协议可以是任何你想要的协议。但在这里,我会先使用 XML,然后再使用JSON,因为这两种技术是我们在Web2.0的世界里最常见的。 创建服务器代码 XML示例由列表1中显示的简单JSP文件开始: 列表1.xml.jsp <jsp:rootxmlns:jsp="http://java.sun.com/JSP/Page"version="1.2"> <jsp:directive.pageimport="java.text.*"/> <jsp:directive.pageimport="java.lang.*"/> <jsp:directive.pagecontentType="text/xml"/> <days><jsp:scriptlet> <![CDATA[ doublecompa=1000.0; doublecompb=900.0; for(inti=0;i<=30;i++){ compa+=(Math.random()*100)-50; compb+=(Math.random()*100)-50; ]]> </jsp:scriptlet> <day> <num><jsp:expression>i</jsp:expression></num> <compa><jsp:expression>compa</jsp:expression></compa> <compb><jsp:expression>compb</jsp:expression></compb> </day> <jsp:scriptlet> <![CDATA[} ]]> </jsp:scriptlet> </days> </jsp:root> 这个服务会每三十天为两家公司(compa和compb)导出一些随机的股票数据。 第一家公司的数值从1000美元开始,第二家从900美元开始,而JSP代码会每 天为这两个数值增加一个随机数。 当我从命令行使用curl客户端去访问这个服务时,我获得的是下面这样的结果: %curl"http://localhost:8080/jsp-examples/flexds/xml.jsp" <days><day><num>0</num><compa>966.429108587301</compa> <compb>920.7133933216961</compb> </day>...</days> 根标签是<days>标签,它包含了一个<day>标签的集合。每个<day>标签都有一 个<num>标签来表示天数,一个<compa>值来表示公司A的股票价格,以及<compb> 值来表示公司B的股票价格。两只股票的数值随着每次请求而不同,因为它们 是随机生成的。 构建界面 现在我们已经有了一个web服务来输出股票的价格,我们还需要一个客户端应用 来展现它。我们要构建的第一个界面是表格风格的界面,用它来简单的显示数字。 为了创建Flex项目,我们在FlexBuilderIDE的新建菜单中选择FlexProject。 显示如图1: 图1.新Flex项目对话框 在这我们要做的就是给项目起个名字。我把它叫做xmldg,意思是XML数据表格。 这样就会创建出一个名叫xmldg.mxml的文件,其中只包含一个空白标签。下面 我会使用列表2中的代码来代替这个空白标签。 列表2.xmldg.mxml <?xmlversion="1.0"encoding="utf-8"?> <mx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"> <mx:XMLsource="http://localh