`

利用Cairngorm框架开发flex应用

    博客分类:
  • Flex
阅读更多
研究了近两天的Cairngorm框架开发的例子,感觉网上的例子好多是用RemoteObject发请求,但我需要的是httpservice发请求,在网上找了好多资料、试验,最终成功。

工程名:ownerarea
一、主Main: ownerarea.mxml(主要内容)
1、其中包含名为BaseDataPanel的component,add进来的
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:business="com.ownerarea.business.*"
xmlns:basedataControl="com.ownerarea.control.basedata.*">

<business:Service id="getBaseDataListService"/>
<basedataControl:BaseDataControl id="baseDataControl"/>

</mx:Application>


二、BaseDataPanel.mxml
....
//派发事件,此项目中一个动作为一个事件,每个事件类中自己维护event的type
internal function init(): void
{
var event: GetBaseDataListEvent = new GetBaseDataListEvent();
CairngormEventDispatcher.getInstance().dispatchEvent(event);
}
....


三、BaseDataControl类, 继承FrontController
//这里放事件常量,并利用基类监听事件
public static const GETDATALIST: String = "getDataList";

public function BaseDataControl()
{
initialiseCommands();
}

public function initialiseCommands() : void{
addCommand(BaseDataControl.GETDATALIST, GetDataListCommand);
}

四、GetBaseDataListEvent类,  继承CairngormEvent
//这里只完成一件事,利用基类绑定常量事件派发出去superpublic function GetBaseDataListEvent()
{
super(BaseDataControl.GETDATALIST);
}

五、service.mxml
//这里可以注入多个httpservice,注意要给ID,目的Delegate类调用
//如果需要传参数,在Delegate类写,这里只提供httpservice的url即可。
<?xml version="1.0" encoding="utf-8"?>
<cairngorm:ServiceLocator xmlns:mx="http://www.adobe.com/2006/mxml"
                          xmlns:cairngorm="com.adobe.cairngorm.business.*">

    <mx:HTTPService id="getBaseDataListService"
    url="http://localhost:8888/ownerarea/basedataList"
    method="POST"
    showBusyCursor="true" resultFormat="xml"/>

</cairngorm:ServiceLocator>

六、GetDataListDelegate类
//传参数时用 this.service.send({type:"1"}),如果需要传多个用逗号分隔,如
{type:"1",id:"1"}

public class GetDataListDelegate
{
private var responder : IResponder;
private var service: HTTPService;

public function GetDataListDelegate(responder: IResponder)
{
this.service = ServiceLocator.getInstance().getHTTPService("getBaseDataListService");
this.responder = responder;
}

public function getList(): void{
var token: AsyncToken = this.service.send({type:"1"});
//目的:指明此service的返回去哪里执行
token.addResponder(this.responder);
}

}

七、GetDataListCommand类, 实现 Command, IResponder
//注意,这里IResponder 为mx.rpc.IResponder,并不是cairngorm的,目的是为了注册service的Respond
//这个类调用Delegate完成数据请求,并处理请求成功与失败的结果
//结果需要这样调(data as ResultEvent).result.toString()

public function execute(event:CairngormEvent):void
{
var delegate: GetDataListDelegate = new GetDataListDelegate(this);
delegate.getList();
}

public function result(data:Object):void
{
trace("result:"+(data as ResultEvent).result.toString());


}

public function fault(info:Object):void
{
}
分享到:
评论
2 楼 三尺寒冰 2011-03-05  
这是什么问题?
1 楼 三尺寒冰 2011-03-05  
描述 资源 路径 位置 类型
1046: 找不到类型,或者它不是编译时常数: BaseDataControl。 MyPlayer.mxml /MyPlayer/src 第 19 行 Flex 问题

相关推荐

    Cairngorm-Flex.zip_Cairngorm_flex

    文件“Cairngorm框架在Flex开发中的应用研究.nh”很可能是关于Cairngorm在实际项目中的案例分析或技术指南,详细讨论了如何在Flex开发中有效地利用Cairngorm框架,包括最佳实践、常见问题以及解决方案。通过阅读这份...

    flex Cairngorm框架实例

    Flex Cairngorm框架是一个强大的轻量级MVC(模型-视图-控制器)架构,用于构建富互联网应用程序(RIA)。这个框架是Adobe Flex开发者社区中的一个流行选择,它旨在提高代码组织、可维护性和可扩展性。让我们深入探讨...

    flex cairngorm框架实例 真正可运行直接导入

    Flex Cairngorm框架是Adobe Flex开发中的一个轻量级MVC(Model-View-Controller)框架,它旨在帮助开发者组织和管理复杂的Flex应用程序。Cairngorm由Adobe贡献给开源社区,是ActionScript 3.0的一个流行架构选择,...

    cairngorm 框架介绍(详细介绍了Adobe Cairngorm框架)

    Adobe Cairngorm框架为Flex和ActionScript开发提供了强大且灵活的MVC实现,通过ServiceLocator、EventBroker、Command等组件,帮助开发者构建可维护、可扩展的应用程序。了解并熟练运用Cairngorm框架,可以显著提升...

    flex cairngorm 框架

    在使用Cairngorm框架开发Flex应用时,开发者需要遵循以下步骤: 1. 定义模型类和`ModelLocator`。 2. 创建视图组件并添加事件监听器。 3. 实现命令类,处理视图触发的事件。 4. 创建服务代理来处理远程调用。 5. 在...

    Flex网上nokia手机专卖店 源码(运用Cairngorm框架)

    标题中的“Flex网上nokia手机专卖店 源码(运用Cairngorm框架)”指的是一个基于Adobe Flex技术开发的在线商店应用,专门售卖Nokia品牌的手机。这个应用使用了Cairngorm框架来实现Model-View-Controller(MVC)设计...

    flex开发系列书籍:Cairngorm_MVC_框架

    在Cairngorm框架的应用程序中,数据流通常如下: 1. 视图(View)触发一个事件。 2. 事件被前端控制器(FrontController)捕获,并根据预定义的映射找到相应的命令(Command)。 3. 命令执行业务逻辑,可能通过服务...

    Cairngorm框架,很好

    5. **最佳实践**:提供关于如何有效地利用Cairngorm框架的建议,以优化项目结构和代码质量。 6. **故障排查**:列出常见问题和解决策略,帮助开发者在遇到问题时找到解决方案。 通过学习和理解Cairngorm框架,...

    flex与java交互 blaze+cairngorm框架实现用户登录

    标题中的"flex与java交互 blaze+cairngorm框架实现用户登录"是指使用BlazeDS作为数据交换的桥梁,Cairngorm作为前端的架构指导,来实现一个用户登录功能。下面将详细讲解这两个技术以及如何在MySQL数据库中处理登录...

    cairngorm构架做的flex-weather倒影(推荐)

    3. **Flex Weather应用程序**:这个示例项目可能是一个展示天气信息的应用,它利用Cairngorm框架来组织代码,提供良好的架构。这通常包括从远程服务器获取天气数据,将其展示在动态图形元素上,并且可能有搜索和选择...

    Flex轻量级开发框架-Cairngorm介绍

    Cairngorm框架通过引入一系列的设计模式和技术,为Flex应用程序提供了一种结构化的开发方式。它不仅简化了开发流程,而且还提高了应用程序的可维护性和可扩展性。通过本文的介绍,我们详细了解了Cairngorm框架的核心...

    cairngorm2.2.1 与 flex4的集成. error错误解决

    在Flex开发领域,Cairngorm是一个...通过良好的MVC设计和Cairngorm提供的工具,可以构建出高效、可扩展的Flex应用程序。记住,遇到问题时,参考官方文档、社区资源以及上述的错误解决策略,通常能帮助你找到解决方案。

    introducing_cairngorm.rar_flex_site:www.pudn.com

    而Cairngorm框架,则是专门为Flex应用程序设计的一种轻量级、可扩展的MVC(模型-视图-控制器)架构模式,它极大地提升了Flex应用的组织结构和可维护性。 Cairngorm框架由Adobe的ColdFusion团队开发,其设计理念源于...

    Flex UI Design For Cairngorm

    标题与描述:“Flex UI...通过合理规划和精心设计,可以在Cairngorm框架下构建出既美观又实用的Flex应用,满足各种业务需求。无论是对于初学者还是经验丰富的开发者,掌握这一技能都是提升个人能力和项目成功率的关键。

    Flex开发框架cairngorm入门实例教程.rar

    Flex开发框架Cairngorm是Adobe Flex应用中的一个轻量级设计模式集合,它为创建可维护、可扩展的富互联网应用程序(RIA)提供了一种结构化的方法。Cairngorm由ThoughtWorks公司的Peter Farley在2005年创建,自那时起...

    FLEX资源——《Cairngorm中文版》官方的FLEX框架

    在实际开发中,结合Cairngorm框架,开发者可以创建更健壮的Flex应用程序,利用其提供的工具和模式来优化代码结构,提升开发效率。同时,由于Cairngorm的灵活性,它可以与其他框架如PureMVC或Mate等无缝集成,以满足...

    cairngorm框架module学习三

    总结,"Cairngorm框架module学习三"的主题聚焦于Cairngorm的模块化设计,包括模块的创建、加载、通信机制以及如何利用源码和工具进行更高效地开发。通过深入理解和实践,开发者能够构建更加灵活、可扩展的Flex应用。

    Flex login flex cairngorm

    Flex Login with ...通过以上步骤,我们可以利用Cairngorm框架构建一个健壮且易于维护的Flex登录系统。这只是一个简要概述,实际开发过程中可能需要考虑更多细节,如数据加密、安全最佳实践以及用户体验设计等。

    flex+cairngorm+java 实例

    Flex是一种开源的、基于ActionScript的开发工具,用于创建交互式、富媒体的用户界面,而Cairngorm则是一个轻量级的MVC(Model-View-Controller)设计模式框架,适用于Flex应用,它提高了代码的可维护性和可测试性。...

Global site tag (gtag.js) - Google Analytics