flex 学习笔记(1)

本文详细介绍了Flex与Java之间的交互方式,包括AS类与Java对象的对应关系、多对多关系的数据集合处理、属性访问方法及远程对象调用的具体实现等关键技术点。

1.flex中 as与java对象对应时 只需要在as类上加

import mx.collections.ArrayCollection;
[Bindable]
[RemoteClass(alias="com.cl.crm.entity.EmployeesInfo")]
public class EmployeesInfo
{
public function EmployeesInfo()
{
}

2.java实体类中多对多时 的HashSet 类型 在 as中对应的类型是 ArrayCollection

java:

private Set<salechanceInfosForScAssign> salechanceInfosForScAssign = new HashSet<salechanceInfosForScAssign>();

as:

public var salechanceInfosForScAssign:ArrayCollection= new ArrayCollection();

3.as对象中调用属性值时貌似不用 set get 方法 直接就能取到值

4. mxml文件中调用远程对象的方法

(1)mxml文件中配置(就在这个页面中使用。。)

<mx:RemoteObject destination="java.Stat" id="Stat">
<mx:method name="getCutomerContribute" result="returnCutomerContribute(event)"/> <!--getCutomerContribute远程调用的方法 和此方法对应的回调函数returnCutomerContribute()-->

</mx:RemoteObject>

(2)在as 中new出来(动态调用)

var employeService:RemoteObject=new RemoteObject("EmployeeService");//new一个远程对象
employeService.addEventListener(FaultEvent.FAULT,getEmployeeFalse); //调用失败时的回调函数
employeService.addEventListener(ResultEvent.RESULT,getEmployeeOk);//调用成功时的回调函数

//调用远程方法后 的回调函数
private function getEmployeeOk(eve:ResultEvent):void{//回调方法中 的事件类型一定要注意 和定义的一样 要不报错
if(eve.result !=null){
var emp:Employee =Employee(eve.result);
///var request:URLRequest = new URLRequest("main.html");
//navigateToURL(request,"_self");
}else{
Alert.show("密码错误!请从新填写","提示");
}

}
//(回调函数)
private function getEmployeeFalse(event:FaultEvent):void{
//保存登录成功用户
//session.setAttribute("EmpRoles",event.result);
//登陆成功跳转
Alert.show("远程调用EmployeeService失败!!"+event.fault.message);
}
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

远程调用中404错误解决办法!!!!!!{context.root}改成你的项目名称

endpoint的问题,在services-config.xml文件中,由于此类型的endpoint:
<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint"/>,中的{context.root}获取不到项目名称。

5 flex 也可以像struts2 那样在前台直接取出 对象的属性值 (只要指定了 java对象 和as对象间的关系就OK了) 感觉还是没有struts2 好用 用flex最大的优点是省了美工了。。。。。。。。

6ActionScript编写的模块,不能由ModuleLoader来加载使用,只能用ModuleManager。MoudleLoader只能加载MXML的模块,而ModuleManager既可以加载MXML模块,也可以加载ActionScript编写的模块

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值