Flex在做界面开发的时候有很多优势,Flex+java的组合也越来越流行,在整合开发的过程中自然会遇到数据交互的问题,下面介绍Flex3+Java整合使用json的情况。
一、Flex3中使用json需要corelib.swc http://www.adobe.com/cfusion/exchange/index.cfm?view=sn111&extid=1078469
将corelib.swc拷贝到Flex安装目录的sdks\3.0.0\frameworks\libs下
二、Java中进行数据处理得到json格式的数据,部分代码
Java代码
01./**
02. * 浏览器直接返回信息
03. *
04. * @param content 内容
05. * @param character 编码
06. * @throws IOException
07. */
08.protected void out(String content,String character) throws IOException {
09. HttpServletResponse response = ServletActionContext.getResponse();
10. response.setContentType("text/html;charset="+character);
11. PrintWriter out = response.getWriter();
12. out.print(content);
13. out.flush();
14. out.close();
15.}
16.
17. try{
18. Author author = authorService.getAuthorByName(username);
19. if( author==null ){
20. JSONObject json = new JSONObject();
21. json.put("status","0");
22. json.put("message","用户名不存在");
23. super.out(json.toString());
24. }
25. if(author.getPassword().equals(MD5.md5(password))){
26. session.put(Symbols.SESSION_AUTHOR, author);
27. JSONObject json = new JSONObject();
28. json.put("status","1");
29. json.put("message","登录成功");
30. super.out(json.toString());
31. }
32. else{
33. JSONObject json = new JSONObject();
34. json.put("status","0");
35. json.put("message","密码错误");
36. super.out(json.toString());
37. }
39. }
40. catch(ServiceException se){
41. JSONObject json = new JSONObject();
42. json.put("status","0");
43. json.put("message","登录失败");
44. super.out(json.toString());
45. throw new Exception(se);
46. } finally {
47. }
48. return NONE;
三、Flex中请求URL得到json的数据,然后在script中解析json数据
XML/HTML代码
01.<?xml version="1.0" encoding="utf-8"?>
02.<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
03. horizontalAlign="center"
04. verticalAlign="middle"
05. verticalGap="15"
06. horizontalGap="15">
08. <mx:Script>
09. <![CDATA[
10. import mx.collections.ArrayCollection;
11. import mx.rpc.events.ResultEvent;
12. import com.adobe.serialization.json.JSON;
13. import mx.controls.Alert;
14.
15. [Bindable]
16. private var photoFeed:ArrayCollection;
17.
18. private function doLogin():void {
19. trace("start send");
20. var params:Object = new Object();
21. params.username = username.text;
22. params.password = password.text;
23. loginCheck.send(params);
24. trace("end send");
25. }
26.
27. private function doCancel():void {
28. username.text = "";
29. password.text = "";
30. }
31.
32. private function loginHandler(event:ResultEvent):void {
33.
34. var rawData:String = String(event.result);
35.
36. //decode the data to ActionScript using the JSON API
37. //in this case, the JSON data is a serialize Array of Objects.
38. var arr:Array = (JSON.decode(rawData) as Array);
39. var dataArray:ArrayCollection = new ArrayCollection(arr);
40. //arraySize = dataArray.length;
41.
42. // info.text = event.result.toString();
43. var obj:Object = JSON.decode(rawData);
44.
45. if(obj.status==1){
46. var request:URLRequest = new URLRequest();
47. request.method = URLRequestMethod.GET;
48. request.url = "http://test.ntsky.com:8080/admin/posts.action";
49. // request.
50. var loader:URLLoader = new URLLoader();
51. navigateToURL(request,"_self");
52. }
53. else{
54. Alert.show(obj.message);
55. }
56. }
57.
58. ]]>
59. </mx:Script>
61. <mx:HTTPService id="loginCheck"
62. url="http://test.ntsky.com:8080/admin/login.action"
63. resultFormat="text"
65. result="loginHandler(event)" />
67. <mx:Panel x="330" y="192" width="290" height="177" layout="absolute" title="用户登录" fontSize="12" horizontalAlign="center" verticalAlign="middle">
68. <mx:Form x="10" y="10" width="253" height="90">
69. <mx:FormItem label="用户名:">
70. <mx:TextInput id="username"/>
71. </mx:FormItem>
72. <mx:FormItem label="密 码 :">
73. <mx:TextInput id="password" displayAsPassword="true"/>
74. </mx:FormItem>
75. </mx:Form>
76. <mx:Button x="65" y="103" label="登录" click="doLogin()"/>
77. <mx:Button x="144" y="103" label="取消" click="doCancel()"/>
78. </mx:Panel>
80.</mx:Application>
分享到:
相关推荐
本文将详细介绍如何使用Flex的HTTPService组件与Java服务进行交互,并获取Java端的返回值。首先,让我们了解一下Flex和Java通信的基本原理。 Flex是一款基于ActionScript 3的开源框架,用于创建富互联网应用程序...
通过以上介绍,我们可以理解Flex如何使用`HTTPService`组件与Java后台进行通信,包括配置服务、发送请求和处理响应。在实际项目中,还需要考虑安全、性能优化以及错误处理等方面的问题。理解这一通信机制对于构建...
本篇文章将深入探讨如何利用Flex 4.0中的HttpService和WebService组件与Java Struts2框架构建的服务器进行通信。 首先,我们来看HttpService。HttpService是ActionScript 3.0中的一个类,用于发起HTTP请求,通常...
根据提供的文件信息,我们可以深入探讨FLEX中的_HTTPService组件及其使用方法。此组件主要用于与Web服务进行通信,例如从服务器获取或发送数据。下面将详细解释如何使用_HTTPService组件,并通过示例代码来展示其...
在本压缩包"Flex实例 Flex基础 Web+Flex+LCDS Flex跟Java交互"中,我们可以深入探讨Flex的基础知识、Web与Flex的集成、LCDS的使用以及Flex如何与Java进行数据交互。 1. **Flex基础**:Flex提供了一整套组件库,包括...
本文主要讲解如何使用Adobe Flex中的`HTTPService`组件与Java后端进行交互。Flex是一个开源的RIA(富互联网应用)开发框架,而`HTTPService`是Flex提供的用于与Web服务进行数据通信的组件,支持SOAP和RESTful协议。 ...
本文将详细介绍如何使用Flex的HttpService组件向SpringMVC应用发送XML数据,并进行交互。 一、Flex中的HttpService组件 1. 创建HttpService:在Flex项目中,通过MXML或ActionScript可以创建HttpService实例。设置...
在描述中提到的“Flex端实例源码”,意味着我们可以从给出的博客链接中找到一个具体的Flex应用程序示例,该示例展示了如何使用HTTPService与Java后端进行通信。通过查看源码,开发者可以学习到如何配置和使用...
10. **学习资源**:提供的“Flex与Java通讯-1.exe”和“Flex与Java通讯-2.exe”很可能是教学视频,而“flex连接java.TXT”可能是配套的代码示例或笔记,帮助学习者深入理解并实践Flex与Java的交互技术。 以上是关于...
在Flex中,与JSON交互是常见的任务,例如从服务器接收数据或向服务器发送数据。SWC包“entity-flex-v1-02”可能是专门为了解析和操作JSON对象而设计的,这可能包含了一些优化的函数和类,使得在Flex中处理JSON更加...
本案例中的"Flex_JSON_XML.zip_flex"是一个压缩包,它包含了一个关于如何使用XML和JSON协议在Java和Flex之间进行数据交换的示例。让我们深入探讨一下这个主题。 Flex是一种基于Adobe Flash Player或Adobe AIR的开源...
Flex可以使用HTTPService或WebService组件来调用Java的Web服务接口,通过XML或JSON进行数据交换。 在压缩包内的"flex调用java方法.docx"文档中,可能详细介绍了这些方法的具体实现步骤和示例代码。通常,它会包含...
标题 "一个最简单的flex与java交互的例子" 涉及的是在Web开发中,使用Adobe Flex(一种基于ActionScript的富互联网应用程序框架)与后台Java技术进行数据交换的技术。Flex通常用于构建用户界面,而Java则负责处理...
压缩包中的"HTTPServiceStu"文件可能包含一个实际的Flex项目,演示了如何配置和使用HTTPService,以及处理返回数据的完整流程。通过研究这个示例,你可以更直观地理解HTTPService的工作原理和使用方法。 总结来说,...
综上所述,"Flex Demo XML JSON"是一个关于使用Flex处理XML和JSON数据的示例,可能涉及到与后端的交互,虽然SSH在Flex中不是直接使用的,但可能会在后台服务中扮演角色。理解并熟练运用这些技术,可以帮助开发者创建...
Flex作为前端用户界面开发框架,提供了丰富的图形和交互性,而Java则在后端提供了强大的处理能力和稳定的服务支持。本资源"flex java 项目整合.rar"包含了一个名为"flex java整合.pdf"的文件,它很可能详细介绍了...
### Flex与JSON及XML的互操作 Flex作为一种强大的开源框架,允许开发者利用MXML(一...无论是使用XML还是JSON,Flex都提供了一套强大的工具和API来处理这些数据,从而帮助开发者构建出功能丰富且交互性强的应用程序。
当不使用AMF时,Flex可以借助HTTPService或WebService组件与Java进行XML或JSON数据交换。这种方式适用于跨域通信,但相比AMF,数据传输效率较低。 5. Flex客户端实现: 在Flex项目中,使用HTTPService或Web...
在提供的代码片段中,我们看到一个简单的Flex应用程序示例,该应用使用了HTTPService组件来与后端服务进行交互。下面是对关键部分的详细分析: #### XML定义部分 ```xml ()"/> <mx:HTTPService id=...