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

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. internal function sendURL():void{
  10. //设置HTTPService的url属性为你要访问的Action连接后面dd=new Date().getTime();是为了消除浏览器缓存
  11. 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();
  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

时间: 2024-11-08 04:28:23

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

Flex 处理 Json 格式的返回数据

前序 : 首先,知道什么是json,知道json 的格式是什么样子的,其次,理解json 处理的需求是来自于Flex和Java 的Servlet通信不能通过对象的方式传递,因此需要json.最后,注意flex json 和Java的json处理需要引入不同的包 : flex 中需要:as3corelib.swc 包的添加的位置,flex目录下还是ecplilse 项目路径下(但是这个不确定一定要放在此处) Java 中需要:json-lib-2.2.2-jdk15.jar 和 jsoup-1.6

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

在手机的后台服务无论是调用WebService还是Http请求,多数都是采用Android的HttpClient实现相关的调用实现.本文实现Android+Struts2+JSON方式实现为手机前台提供服务. 涉及的知识点: 1.Struts2框架的搭建(包括Struts2的jSON插件) 2.Android前台访问Web采用HttpClient方式. 3.Android采用JSON的解析. 功能:模拟远程登录流程: 手机后台服务:由于采用Struts2的JSON响应格式,响应详细会自动转变为J

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

1. 问题描述: 页面通过异步访问action,    action的方法通过map封装数据,struts的result的type设置为json,后台报错 六月 25, 2016 6:54:33 下午 org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet [default] in context with path [/msf] threw exception [Fil

struts2+json+jquery局部刷新实现注册验证

struts2+json+jquery局部刷新实现注册验证 1.项目需要导入的jar包 在web项目的WebRoot/WEB-INF/lib目录下导入以下包 2.在src目录下建立包com.entity,里面建立java类:UserInfo.java .  MailSenderInfo.java UserInfo.java package com.entity; import java.io.Serializable; /** * 说明:用户实体类 * @author wangcunhuazi

Class org.apache.struts2.json.JSONWriter can not access a member of class org.springframework.aop.TruePointcut with modifiers &quot;public&quot;

Spring注入Action使用Json错误:org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: java.lang.IllegalAccessException: Class org.apache.struts2.json.JSONWri

org.apache.struts2.json.JSONWriter can not access a member of class org.apache.commons.dbcp...

之前在用ssh整合json时一直发现前台获取不到json的返回数据,直接运行action出现以下错误: HTTP Status 500 - org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.

struts2 json 输出日期格式不正确

struts2 输出json中 日期出现:2013-12-17T15:57:47 错误格式的数据 原因:struts2 json插件对日期的格式化有问题 解决方法:在实体类的日期的get方法上加注解:@JSON(format="yy-MM-dd HH:mm:ss") 例如: @JSON(format = "yy-MM-dd HH:mm:ss") public Date getFindtime() { return findtime; }

Struts2+json+hignchart(简单柱状图实现--适合jquery小白)

做了一个简单的基于Struts2 + Json + HighChart的小例子,费了一下午+晚上的时间,虽然简单,但对于我这种Jquery+Ajax小白的人还是很值得记录的. 哈哈哈 # 0. 关键点找到highchart的模板网站 https://www.hcharts.cn/docs/basic-tooltip # 1. 关键点,在struts.xml中配置返回类型为json <action name="queryItemsJson" class="com.best

报org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException:的错误

HTTP Status 500 - type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: java.lang.