Flex+Struts2+JSON实现Flex和后台的HTTP Service请求

简介:

Flex+Struts2+JSON的后台代码我在这就不多说了。不懂得请看我写的上一篇文章《Struts2+JQuery+JSON实现异步交互》那篇文章,后台没有任何变化。

在这着重讲Flex端的实现代码。

第一步:

     从http://code.google.com/p/as3corelib/网站中下载as3corelib-.92.1.zip文件并解压,解压后在as3corelib-.92.1\as3corelib-.92.1\lib目录中有一个as3corelib.swc文件,把该文件复制到你的Flex工程的libs目录中。就可以工作了。请看Flex代码:

Flex代码代码
  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <mx:Application xmlns:mx="<A href="http://www.adobe.com/2006/mxml">http://www.adobe.com/2006/mxml</A>" fontSize="12" layout="absolute">   
  3.  <mx:Script>   
  4.   <![CDATA[   
  5.    import com.adobe.serialization.json.JSONDecoder;   
  6.    import mx.rpc.events.FaultEvent;   
  7.    import mx.controls.Alert;   
  8.    import mx.rpc.events.ResultEvent;   
  9.       
  10.    internal function sendURL():void{   
  11.     //设置HTTPService的url属性为你要访问的Action连接后面dd=new Date().getTime();是为了消除浏览器缓存   
  12.     hs.url = "<A href="http://localhost:8080/fsj/flexstrutsjson!hdList.action?dd=%22+new">http://localhost:8080/fsj/flexstrutsjson!hdList.action?dd="+new</A> Date().getTime();   
  13.     //调用HTTPService的send()方法   
  14.     hs.send();   
  15.     //注册成功事件   
  16.     hs.addEventListener(ResultEvent.RESULT,success);   
  17.     //注册失败事件   
  18.     hs.addEventListener(FaultEvent.FAULT,faultResult);   
  19.    }   
  20.    //失败事件调用的函数   
  21.    internal function faultResult(event:FaultEvent):void{   
  22.     //弹出失败信息   
  23.     Alert.show(event.fault.message);   
  24.    }   
  25.    //成功函数   
  26.    internal function success(event:ResultEvent):void{   
  27.     //把返回的对象转换成字符串   
  28.     var userStr:String = event.result.toString();   
  29.     //使用刚才加入的swc包包中的类JSONDecoder()把字符串转换成JSONDecoder对象   
  30.     var userJson:JSONDecoder = new JSONDecoder(userStr);   
  31.     //返回Map的方式   
  32. //    var d:Object = userJson.getValue().uerInfoMap;   
  33. //    var arryObject:Array=[];   
  34. //    for each(var f:Object in d){   
  35. //     arryObject.push(f);   
  36. //    }   
  37. //    userInfo.dataProvider = arryObject;   
  38.     //返回List的处理方式   
  39.     //使用JSONDecoder对象的getValue方法返回对象   
  40.     userInfo.dataProvider = userJson.getValue().userInfos;   
  41.    }   
  42.   ]]>   
  43.  </mx:Script>   
  44.  <!--创建HTTPService对象-->   
  45.  <mx:HTTPService id="hs" method="POST" showBusyCursor="true"/>   
  46.  <!--创建发送按钮并调用sendURL()函数-->   
  47.  <mx:Button id="requstDate" click="sendURL()" label="发送"  x="95" y="78"/>   
  48.  <!--创建DataGrid控件来绑定返回的数据-->   
  49.  <mx:DataGrid x="95" y="131" width="482" height="270" id="userInfo">   
  50.   <mx:columns>   
  51.    <mx:DataGridColumn headerText="用户名" dataField="userName"/>   
  52.    <mx:DataGridColumn headerText="密码" dataField="pwd"/>   
  53.    <mx:DataGridColumn headerText="Email" dataField="email"/>   
  54.    <mx:DataGridColumn headerText="年龄" dataField="age"/>   
  55.   </mx:columns>   
  56.  </mx:DataGrid>   
  57. </mx:Application>  

 



本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/4208913.html,如需转载请自行联系原作者

相关文章
|
6天前
|
缓存 应用服务中间件 Apache
HTTP 范围Range请求
HTTP范围请求是一种强大的技术,允许客户端请求资源的部分内容,提高了传输效率和用户体验。通过正确配置服务器和实现范围请求,可以在视频流、断点续传下载等场景中发挥重要作用。希望本文提供的详细介绍和示例代码能帮助您更好地理解和应用这一技术。
46 19
|
1月前
|
JSON Java 数据格式
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
87 25
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
|
14天前
|
JSON JavaScript 前端开发
什么是HTTP POST请求?初学者指南与示范
HTTP POST请求是一种常用的HTTP方法,主要用于向服务器发送数据。通过合理设置请求头和请求主体,可以实现数据的可靠传输。无论是在客户端使用JavaScript,还是在服务器端使用Node.js,理解和掌握POST请求的工作原理和应用场景,对于Web开发至关重要。
148 18
|
13天前
|
JSON 数据格式
.net HTTP请求类封装
`HttpRequestHelper` 是一个用于简化 HTTP 请求的辅助类,支持发送 GET 和 POST 请求。它使用 `HttpClient` 发起请求,并通过 `Newtonsoft.Json` 处理 JSON 数据。示例展示了如何使用该类发送请求并处理响应。注意事项包括:简单的错误处理、需安装 `Newtonsoft.Json` 依赖,以及建议重用 `HttpClient` 实例以优化性能。
54 2
|
1月前
|
Web App开发 大数据 应用服务中间件
什么是 HTTP Range请求(范围请求)
HTTP Range 请求是一种非常有用的 HTTP 功能,允许客户端请求资源的特定部分,从而提高传输效率和用户体验。通过合理使用 Range 请求,可以实现断点续传、视频流播放和按需加载等功能。了解并掌握 HTTP Range 请求的工作原理和应用场景,对开发高效的网络应用至关重要。
77 15
|
2月前
|
开发者
HTTP 协议请求方法的发展历程
【10月更文挑战第21天】
|
1月前
|
数据采集 JSON 测试技术
Grequests,非常 Nice 的 Python 异步 HTTP 请求神器
在Python开发中,处理HTTP请求至关重要。`grequests`库基于`requests`,支持异步请求,通过`gevent`实现并发,提高性能。本文介绍了`grequests`的安装、基本与高级功能,如GET/POST请求、并发控制等,并探讨其在实际项目中的应用。
45 3
|
2月前
|
前端开发 UED 开发者
CSS Sprites和图标字体在网页图标加载优化中的应用。CSS Sprites通过合并多图标减少HTTP请求,提升加载速度
本文探讨了CSS Sprites和图标字体在网页图标加载优化中的应用。CSS Sprites通过合并多图标减少HTTP请求,提升加载速度;图标字体则以字体形式呈现图标,便于调整样式。文章分析了两者的优缺点及应用场景,并提供了应用技巧和注意事项,旨在帮助开发者提升页面性能,改善用户体验。
34 5
|
2月前
|
缓存 前端开发 API
|
3月前
|
数据采集 前端开发 算法
Python Requests 的高级使用技巧:应对复杂 HTTP 请求场景
本文介绍了如何使用 Python 的 `requests` 库应对复杂的 HTTP 请求场景,包括 Spider Trap(蜘蛛陷阱)、SESSION 访问限制和请求频率限制。通过代理、CSS 类链接数控制、多账号切换和限流算法等技术手段,提高爬虫的稳定性和效率,增强在反爬虫环境中的生存能力。文中提供了详细的代码示例,帮助读者掌握这些高级用法。
157 1
Python Requests 的高级使用技巧:应对复杂 HTTP 请求场景