`

java.lang.ClassCastException: flex.messaging.io.amf.ASObject cannot be cast to

阅读更多

后台Java类:

 

 

public class TranCopayVO {

private Long seqNo;

private Long lineNo;

private String copayDesc;

private Double copayAmt;

public TranCopayVO() {

super();

// TODO Auto-generated constructor stub

}


......

}

 

Flex AS类:

 

package vo

{

[Bindable]

[RemoteClass(alias="com.versionsystem.tpa.vo.TranCopayVO")]

public class TranCopayVO

{

public function TranCopayVO()

{

}

public var seqNo:Number;

public var lineNo:Number;

public var copayDesc:String;

public var copayAmt:Number;


}

}

 

 

在DataGrid中显示是数据是后台传到前端的,对Flex端而言,DataGrid中的一行数据对应的其实就是TranCopayVO的实例。显示没有问题。

当我把DataGrid中的DataProvider 转换成ArrayCollection 传给后台java 执行时碰到了如下错误:

 

java.lang.ClassCastException: flex.messaging.io.amf.ASObject cannot be cast to com.versionsystem.tpa.vo.TranCopayVO

 

 

 

解决方法:

 

在Flex前端声明一下As类:TranCopayVO

如下:var tcv: TranCopayVO;

这样转换就没有问题了。如果在Flex中没有声明TranCopayVO的实例,就会抛出以上异常。需要事先声明它,以便Flex编译器能识别它

0
5
分享到:
评论
1 楼 liuloveyun 2013-05-14  
我遇到了你这样的问题,可是按照你这样的方法,但是不行,想请教一下。

相关推荐

Global site tag (gtag.js) - Google Analytics