HttpService工具类:
package common
{
import com.adobe.serialization.json.JSON;
import mx.controls.Alert;
import mx.rpc.AsyncResponder;
import mx.rpc.AsyncToken;
import mx.rpc.events.FaultEvent;
import mx.rpc.http.HTTPService;
public class HttpServices
{
private var http:HTTPService;
private var _host:String;
private static var https:HttpServices;
public function HttpServices()
{
http = new HTTPService();
}
public function set host(value:String):void
{
_host = value;
}
private function sendHttpSer(method:String,local:String,json:String,format:String,contentType:String):AsyncToken
{
_host = "http://192.168.1.146:8080";
local = _host + local;
http.url = local + method;
http.resultFormat = format;
http.method = "POST";
http.showBusyCursor = true;
http.contentType = contentType;
return json.length>0 ? http.send(json) : http.send();
}
public function sendHttpRequest(method:String,
resultFunc:Function,
local:String="/zport/dmd/YDBackScript/asset_handler?callMethod=",
format:String="e4x",
contentType:String="application/x-www-form-urlencoded"):void
{
var token:AsyncToken = sendHttpSer("getAllAssetsClass&submitted=true",local,"",format,contentType);
responderHandler(token,resultFunc);
}
public function sendJsonRequest(method:String,data:Object,resultFunc:Function,local:String="/zport/dmd/kwb_router"):void
{
var o:Object = {};
o.action = "KWBRouter";
o.method = method;
o.data = [data];
o.type = "rpc";
o.tid = 10;
var json:String = JSON.encode(o);
var token:AsyncToken = sendHttpSer("",local,json,"object","application/json; charset=utf-8");
responderHandler(token,resultFunc);
}
private function responderHandler(token:AsyncToken,resultHandler:Function):void
{
var responder:AsyncResponder = new AsyncResponder(resultHandler,faultHandler);
token.addResponder(responder);
}
private function faultHandler(event:FaultEvent,token:Object=null):void
{
// Alert.show("网络服务未能正常访问,请联系管理员解决,:)","错误提示");
trace( "FAULT: " + event.fault.message );
}
public static function getInstance():HttpServices
{
if(!https)https = new HttpServices();
return https;
}
}
}
调用方法:
https.sendHttpRequest("getAllAssetsClass&submitted=true",assetsClass_resultHandler);
private function getJsonData(param:Object,method:String,resultFunc:Function):void
{
var data:Object = {};
data.start = 0;
data.limit = 100;
data.param = param;
data.sort_param = {id:"asc"};
https.sendJsonRequest(method,data,resultFunc);
}
回调函数:
private function assetsClass_resultHandler(e:ResultEvent,token:Object=null):void
{
}
分享到:
相关推荐
2. **开发环境**:安装和配置Adobe Flex Builder是学习Flex的第一步。该IDE提供了强大的代码编辑、调试和性能分析工具,使得开发者能够高效地编写和测试Flex应用。此外,了解如何创建和管理项目、设置编译选项也至关...
他们详细介绍了Flex与Spring之间的通信机制,如HTTPService、AMF(Action Message Format)和BlazeDS等中间件的使用,这些技术允许数据在Flex客户端和Spring服务器之间高效地传输。 首先,对于Flex部分,读者将学习...
4. **Flex组件模型**:Flex组件是可重用的UI元素,如Button、TextArea、Canvas等。这些组件基于Flex组件模型,允许自定义样式、行为和功能。开发者可以通过继承和扩展已有组件来创建自己的定制组件。 5. **数据绑定...
8. 模块化和重用:Flex支持组件和模块的概念,这有助于代码的组织和重用。在FlickrRIA中,可能会看到如何创建可复用的组件,比如一个用于显示图片的自定义组件。 9. 状态管理:Flex提供了状态管理功能,使得UI可以...
同时,Flex应用的可扩展性和模块化设计也是其亮点,通过组件化开发,可以将复杂的应用拆解为独立、可复用的部分,提高代码的维护性和重用性。 总的来说,“my flex example2.0”是初涉Flex开发的作者一次成功的尝试...
在Flex4中,我们可以使用HTTPService或WebService组件来调用Asp.net发布的WebService接口。 具体步骤如下: 1. **创建WebService**:在Asp.net环境中,开发者需要创建一个WebService项目,编写.asmx文件,定义Web...
2. **数据绑定**:Flex支持数据绑定,允许UI元素与数据模型直接关联。通过查看源码,你可以学习如何实现双向数据绑定,使得界面更新自动反映数据模型的变化。 3. **事件处理**:AS3中的事件模型是Flex交互性的重要...
4. **组件库**:Flex包含了一系列预定义的可重用UI组件,如按钮、文本输入框、列表视图等,这些组件可以方便地拖放到设计视图中,并通过MXML或ActionScript进行配置和定制。 5. **数据绑定**:Flex支持双向数据绑定...
- **使用HTTPService加载外部数据**:通过网络请求获取远程数据,增强应用的动态性和实时性。 ### 结论 Flex3提供了强大且灵活的工具集,使得开发者能够快速构建高性能的RIA。从简单的用户界面到复杂的数据处理,...
4. 模块化设计:将Spring MVC和Flex应用拆分为可重用的模块,便于维护和扩展。 5. 性能监控:定期评估应用性能,及时优化瓶颈。 总结,Spring MVC、BlazeDS和Flex的结合,为开发人员提供了一套强大的工具,用于构建...
在Flex开发中,模块化是一种重要的设计原则,它有助于提高代码的可维护性、可扩展性和重用性。模块化允许我们将一个大型的应用程序分解为多个独立的、可管理的部分,每个部分称为一个模块。这样做不仅简化了开发过程...
SDK中的Flex Framework包含了一系列可重用的UI组件,如按钮、列表、面板等,这些组件使得开发者能够快速构建用户界面。ActionScript3.0是Flex的主要编程语言,它是基于ECMAScript的一个面向对象的脚本语言,具有更...
具体实现上,Flex3的客户端通过HTTPService或WebService组件向Java服务器发起请求。这些组件允许Flex与Java之间进行异步通信,使用SOAP或RESTful协议传递数据。在接收到服务器的响应后,Flex会更新界面,显示新的...
7. **模块化开发**:如何使用Flex模块(Module)来组织大型项目,实现代码重用和独立加载。 通过这些代码示例,开发者可以深入理解Flex 4.0的架构和特性,从而提升自己的开发技能。在实际项目中,可以借鉴这些代码...
在传统的编程模式下,一个类可能会直接创建它所依赖的对象的实例,这种方式会导致类间耦合度较高,不利于代码的重用和测试。依赖注入通过由外部容器或框架负责创建依赖对象,并将这些对象传递给需要它们的类,从而...
《Flash Builder实例(2)——Flex一周视频培训详解》 Flash Builder是一款强大的集成开发环境(IDE),专为Adobe Flex和ActionScript开发者设计,用于构建富互联网应用(RIA)。本实例集将深入探讨如何使用Flash ...