基于 Cairngorm MVC 框架的 Flex 程序设计与开发
2010-08-16 00:00:00 来源:WEB开发网方法 getPersonInfos() 用于发送查询 abc.xml 文件的请求。
定义 VO
从 xml 文件中读取过来的数据实际上都是一个个的员工的信息,便于存储,定义 VO 类来封装员工信息,在 vo 包中定义 ActionScript class,取名为 PersonForm.as,代码如下:
清单 13. PersonForm.as
package vo
{
public class PersonForm
{
public var id:String="";
public var name:String="";
public function PersonForm()
{
}
}
}
实现 Command
通过在 Command 中维护 ModelLocator 单例的引用,当更新 ModelLocator 中的数据时,因为 ModelLocator 是单例,所以页面中的 ModelLocator 中的数据也相应的更新,详细的原理请看注释,LoadPersonCommand.as 完整代码如下:
清单 14. LoadPersonCommand.as
package commands
{
import business.delegates.PersonDelegate;
import com.adobe.cairngorm.commands.ICommand;
import com.adobe.cairngorm.control.CairngormEvent;
import model.ModelLocator;
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.rpc.Responder;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import vo.PersonForm;
public class LoadPersonCommand implements ICommand
{
private var _model:ModelLocator=ModelLocator.getInstance();
public function execute(event:CairngormEvent):void
{
//注册两个回调函数
var responder:Responder =
new Responder(onResults_loadPersons, onFaults_loadPersons);
var delegate:PersonDelegate = new PersonDelegate(responder);
delegate.getPersonInfos();
}
//如果请求发送成功则执行
public function onResults_loadPersons(event:ResultEvent):void
{
//用 xml 文件中的数据填充 ArrayCollection
var personRaw:ArrayCollection =event.result.menus.Box;
//用 personInfo填充 Model
for(var i:int=0;i<personRaw.length;i++)
{
var tempPerson:PersonForm=new PersonForm();
var personFromXML:Object=personRaw.getItemAt(i);
tempPerson.id=personFromXML.id;
tempPerson.name=personFromXML.name;
_model.personInfos.addItem(tempPerson);
}
}
//如果请求发送不成功则执行
public function onFaults_loadPersons(event:FaultEvent):void
{
Alert.show("failed");
}
}
}
- ››基于IP地址的vsftp服务器
- ››基于MySQL 水平分区的优化示例
- ››基于CentOS5的Linux下pptp和openvpn的搭建及配置
- ››基于JavaScript的网页版塔防游戏
- ››基于Android平台 QQ大战360手机游戏爆红
- ››基于Windows Azure的云计算应用设计
- ››基于AES算法实现对数据的加密
- ››基于SoPC目标板Flash编程设计的创建及应用
- ››基于SolidWarks齿轮机构的运动分析与仿真
- ››基于Windwos Server 2008故障转移群
- ››基于JavaScript的REST客户端框架
- ››基于JavaScript和CSS的Web图表框架横向对比
更多精彩
赞助商链接