Flex+Struts2+JSON实现Flex和后台的HTTP Service请求
http://www.fengfly.com/plus/view-191093-1.html
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代码:
- <?xml version="1.0" encoding="utf-8"?>
- <mx:Application xmlns:mx=/mxml">http://www.adobe.com/2006/mxml</A>" fontSize="12" layout="absolute">
- <mx:Script>
- <![CDATA[
- import com.adobe.serialization.json.JSONDecoder;
- import mx.rpc.events.FaultEvent;
- import mx.controls.Alert;
- import mx.rpc.events.ResultEvent;
- internal function sendURL():void{
- //设置HTTPService的url属性为你要访问的Action连接后面dd=new Date().getTime();是为了消除浏览器缓存
- hs.url = /fsj/flexstrutsjson!hdList.action?dd=%+new">http://localhost:8080/fsj/flexstrutsjson!hdList.action?dd="+new</A> Date().getTime();
- //调用HTTPService的send()方法
- hs.send();
- //注册成功事件
- hs.addEventListener(ResultEvent.RESULT,success);
- //注册失败事件
- hs.addEventListener(FaultEvent.FAULT,faultResult);
- }
- //失败事件调用的函数
- internal function faultResult(event:FaultEvent):void{
- //弹出失败信息
- Alert.show(event.fault.message);
- }
- //成功函数
- internal function success(event:ResultEvent):void{
- //把返回的对象转换成字符串
- var userStr:String = event.result.toString();
- //使用刚才加入的swc包包中的类JSONDecoder()把字符串转换成JSONDecoder对象
- var userJson:JSONDecoder = new JSONDecoder(userStr);
- //返回Map的方式
- // var d:Object = userJson.getValue().uerInfoMap;
- // var arryObject:Array=[];
- // for each(var f:Object in d){
- // arryObject.push(f);
- // }
- // userInfo.dataProvider = arryObject;
- //返回List的处理方式
- //使用JSONDecoder对象的getValue方法返回对象
- userInfo.dataProvider = userJson.getValue().userInfos;
- }
- ]]>
- </mx:Script>
- <!--创建HTTPService对象-->
- <mx:HTTPService id="hs" method="POST" showBusyCursor="true"/>
- <!--创建发送按钮并调用sendURL()函数-->
- <mx:Button id="requstDate" click="sendURL()" label="发送" x="95" y="78"/>
- <!--创建DataGrid控件来绑定返回的数据-->
- <mx:DataGrid x="95" y="131" width="482" height="270" id="userInfo">
- <mx:columns>
- <mx:DataGridColumn headerText="用户名" dataField="userName"/>
- <mx:DataGridColumn headerText="密码" dataField="pwd"/>
- <mx:DataGridColumn headerText="Email" dataField="email"/>
- <mx:DataGridColumn headerText="年龄" dataField="age"/>
- </mx:columns>
- </mx:DataGrid>
- </mx:Application>
需要注意的是:在JSON的数据量比较大的情况下该方法执行的速度会比较慢。
相关文章:http://www.infoq.com/cn/articles/flex-xml-json
Flex+Struts2+JSON实现Flex和后台的HTTP Service请求的更多相关文章
- struts2 java.lang.StackOverflowError org.apache.struts2.json.JSONWriter
1. 问题描述: 页面通过异步访问action, action的方法通过map封装数据,struts的result的type设置为json,后台报错 六月 25, 2016 6:54:33 下午 ...
- Android+struts2+JSON方式的手机开发(Login)
在手机的后台服务无论是调用WebService还是Http请求,多数都是采用Android的HttpClient实现相关的调用实现.本文实现Android+Struts2+JSON方式实现为手机前台提 ...
- Json在前台与后台之间的使用
一.将前台数据,使用ajax中的post.get传到后台 $.ajax({ type: 'post', url: 'your url', data: $("form").seri ...
- Class org.apache.struts2.json.JSONWriter can not access a member of class org.springframework.aop.TruePointcut with modifiers "public"
Spring注入Action使用Json错误:org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: ...
- org.apache.struts2.json.JSONWriter can not access a member of class
偶遇一个问题:org.apache.struts2.json.JSONWriter can not access a member of class org.apache.tomcat.dbcp.db ...
- Jqgrid入门-结合Struts2+json实现数据展示(五)
DEMO用的是ssh框架实现的,具体怎么搭建的就不多做说明了.分页表格的数据操作难点就是数据展现.至于增删改直接用hibernate原生的方法实现即可. 初步分析:表格要实现分页,那么 ...
- Class org.apache.struts2.json.JSONWriter can not access a member of
异常形式: Class org.apache.struts2.json.JSONWriter can not access a member of * 或是 Class com.googlecode. ...
- struts2 json 定义全局Date格式
使用struts2的json插件时,自己定义日期格式经常使用的方式是在get属性上加入@JSON注解,这个对于少量Date属性还能够,可是假设date字段多了,总不可能去给每一个date get方法加 ...
- Class org.apache.struts2.json.JSONWriter can not access a member of class oracle.jdbc.driver.Physica
产生这个错误的原因是因为我的oracle数据库中有一个CLOB字段,查询出来的时候要转换为JSON而报错. Class org.apache.struts2.json.JSONWriter can n ...
随机推荐
- 基于select模型的udp客户端实现超时机制
参考:http://www.cnblogs.com/chenshuyi/p/3539949.html 多路选择I/O — select模型 其思想在于使用一个集合,该集合中包含需要进行读写的fd,通过 ...
- URAL-1997 Those are not the droids you're looking for 二分匹配
题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1997 题意:记录了n个人进出门的时间点,每个人在房子里面待的时间要么小于等于a,要么大于 ...
- 面试题收集——Java基础部分(一)
原博文出自于: http://www.cnblogs.com/xdp-gacl/p/3641769.html 感谢! 1.一个".java"源文件中是否可以包括多个类(不是内部类) ...
- windows下揪出java程序占用cpu很高的线程 并找到问题代码 死循环线程代码
我的一个java程序偶尔会出现cpu占用很高的情况 一直不知道什么原因 今天终于抽时间解决了 系统是win2003 jvisualvm 和 jconsole貌似都只能看到总共占用的cpu 看不到每个线 ...
- 解决getOutputStream() has already been called for this response
http://qify.iteye.com/blog/747842 —————————————————————————————————————————————————— getOutputStream ...
- Linux下的cut选取命令详解
定义 正如其名,cut的工作就是“剪”,具体的说就是在文件中负责剪切数据用的.cut是以每一行为一个处理对象的,这种机制和sed是一样的 剪切依据 cut命令主要是接受三个定位方法: 第一,字节(by ...
- 从今天开始每天刷一题,并写在这里 分类: ACM 2015-06-16 23:52 14人阅读 评论(0) 收藏
开始什么题都可以,后面会加大难度. 每天! 如果有一天有特殊情况,也要来这里打卡,并说明原因,并在其他某一天补上! 版权声明:本文为博主原创文章,未经博主允许不得转载.
- area标签circle/rect/poligon坐标
<img src="images/02.gif" title="flower" usemap="#mm" /> <map ...
- 配置cisco路由器特定时间重启
方法一: Router1#reload in 20 Reload scheduled for 11:33:53 EST Sat Feb 1 2003 (in 20 minutes) Proceed w ...
- python svn
svn 0.3.36 Downloads ↓ Intuitive Subversion wrapper. Introduction svn is a simple Subversion library ...