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代码:

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

需要注意的是:在JSON的数据量比较大的情况下该方法执行的速度会比较慢。

相关文章:http://www.infoq.com/cn/articles/flex-xml-json

Flex+Struts2+JSON实现Flex和后台的HTTP Service请求的更多相关文章

  1. struts2 java.lang.StackOverflowError org.apache.struts2.json.JSONWriter

    1. 问题描述: 页面通过异步访问action,    action的方法通过map封装数据,struts的result的type设置为json,后台报错 六月 25, 2016 6:54:33 下午 ...

  2. Android+struts2+JSON方式的手机开发(Login)

    在手机的后台服务无论是调用WebService还是Http请求,多数都是采用Android的HttpClient实现相关的调用实现.本文实现Android+Struts2+JSON方式实现为手机前台提 ...

  3. Json在前台与后台之间的使用

     一.将前台数据,使用ajax中的post.get传到后台 $.ajax({ type: 'post', url: 'your url', data: $("form").seri ...

  4. 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: ...

  5. 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 ...

  6. Jqgrid入门-结合Struts2+json实现数据展示(五)

    DEMO用的是ssh框架实现的,具体怎么搭建的就不多做说明了.分页表格的数据操作难点就是数据展现.至于增删改直接用hibernate原生的方法实现即可.         初步分析:表格要实现分页,那么 ...

  7. 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. ...

  8. struts2 json 定义全局Date格式

    使用struts2的json插件时,自己定义日期格式经常使用的方式是在get属性上加入@JSON注解,这个对于少量Date属性还能够,可是假设date字段多了,总不可能去给每一个date get方法加 ...

  9. 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 ...

随机推荐

  1. 转 AI教程 logo

    版权申明:本文原创作者飞屋工作室,感谢飞屋工作室的原创分享! 这篇AI制作标志教程是一个非常实用的教程.通过这个教程飞特的朋友们将会学习到AI制作标志的流程和标志的创作思路.非常实用.推荐过来和飞特的 ...

  2. sphinx下的max_matches取值对SetLimits的影响

    使用PHP在客户端执行 $s -> SetLimits(0, 15, 1200); 传递的第三个参数,是服务器端设定当前查询的结果集大小为1200,但是运行结果,确实$s最终查询得到的结果为空值 ...

  3. Weibo Crawler in Action

    1.要写一个微博爬虫,得分开几个模块来做: (1)模拟登录 (2)模拟浏览 (3)针对短时间内大量访问而引起怀疑的禁止登陆解决方案 (4)其他 (1)模拟登陆模块 前提:要模拟登录,得首先知道在登录微 ...

  4. air 移动开发配置文件详解

    转自http://www.badyoo.com/index.php/2012/09/12/208/index.html 目录 所需的 AIR 运行时版本 应用程序标识 应用程序版本 主应用程序 SWF ...

  5. Apache Spark的部署环境的小记

    Spark的单机版便于测试,同时通过SSH用Spark的内置部署脚本搭建Spark集群,使用Mesos.Yarn或者Chef来部署Spark.对于Spark在云环境中的部署,比如在EC2(基本环境和E ...

  6. 关于Windows Azure 地缘组(Affinity Groups)

    最近在和一些客户和朋友的沟通中,发现Windows Azure地缘组概念很少有了解.我的建议是使用地缘组来优化同一区域内的网络访问速度.如果我的说法有误,欢迎大家指正. 关于“地缘组”的概念(摘自MS ...

  7. oracle学习 八 分页(使用rownumber)(持续更)

    rownumber是查询的数据集之后加入一个伪列(连续的)使用它可以去制作以oracle数据库为基础的分页,语句类似于公式直接套用如下: select * from (select rownum r, ...

  8. c++中的array数组和vector数组

    我觉得实验一下会记得比较牢,话不多直接上代码. 下面是array数组,感觉用的不多. //cpp 风格数组 array #include <iostream> #include <a ...

  9. const型类成员

    一.关于const类成员函数有以下几个需要注意的地方: 1. 在普通的非const成员函数中,this的类型是一个指向类类型的const指针,而const成员函数中,this的类型是一个指向const ...

  10. Joel Spolsky对计算机学生的七大建议

    /*先来介绍下作者:Joel Spolsky,世界最具影响的程序员网志Joel on Software的主人,软件业一位旗帜鲜明的思想者,一位传统软件管理理念的挑战者.他创办的这个网站被程序员誉为“反 ...