flex array java_Flex中ArrayCollection 与java中的ArrayList互转

Flex中ArrayCollection与java中的ArrayList互转

这里说这是Flex用remoting传一个ArrayCollection到后台(后台也用ArrayCollection接参)之后如何转成ArrayList.

(具体操作如将Flex页面的DataGrid中的若干内容添加到DataBase中)

public ArrayList convertArrayCollection(ArrayCollection array){

ArrayList myObjectArray = new ArrayList();

ASTranslator ast = new ASTranslator();

ModuleVOmyObject;

ASObject aso;

for (int i=0;i < array.size(); i++){

myObject = newModuleVO();

aso = new ASObject();

aso = (ASObject) array.get(i);

aso.setType("com.hospital.vo.ModuleVO");

myObject = (ModuleVO) ast.convert(aso,ModuleVO.class);

myObjectArray.add(myObject);

}

return myObjectArray;

}

Flex端VO:

packagevo

{

[Bindable]

publicclassModuleVO

{

publicvarnum:Number;

publicvarMID:int;

publicvarMCode:String;

publicvarMCN:String;

publicvarMEN:String;

publicvarMState:int;

publicfunctionfill(obj:Object):void{

for(vari:*inobj){

this[i]=obj[i];

}

}

}

}

Java端ModuleVO:

packagecom.hospital.vo;

publicclassModuleVO {

publicNumbernum;

publicintMID;

publicStringMCode;

publicStringMCN;

publicStringMEN;

publicintMState;

publicNumber getNum() {

returnnum;

}

publicvoidsetNum(Number num) {

this.num= num;

}

publicintgetMID() {

returnMID;

}

publicvoidsetMID(intmid) {

MID= mid;

}

publicString getMCode() {

returnMCode;

}

publicvoidsetMCode(String code) {

MCode= code;

}

publicString getMCN() {

returnMCN;

}

publicvoidsetMCN(String mcn) {

MCN= mcn;

}

publicString getMEN() {

returnMEN;

}

publicvoidsetMEN(String men) {

MEN= men;

}

publicintgetMState() {

returnMState;

}

publicvoidsetMState(intstate) {

MState= state;

}

}

Java取convertArrayCollection里面的数据:

publicbooleanaddMV( ArrayCollection ModuleList) {

ArrayList al =this.convertArrayCollection(ModuleList) ;

for(Iterator i = al.iterator(); i.hasNext();){

String MID = ((ModuleVO)i.next()).getMID()+"";

System.out.println(MID);

String sql ="insert into T_ModuleV (MVID, MID, MState) values "+

"("+MVID+", "+MID+", "+MState+") ; ";

System.out.println(sql);

}

}

将Flex端传过来的ArrayConllection转为Java端的ArrayList

publicArrayList convertArrayCollection(ArrayCollection array){

ArrayList myObjectArray =newArrayList();

ASTranslator ast =newASTranslator();

ModuleVO myObject;

ASObject aso;

for(inti=0;i < array.size(); i++){

myObject =newModuleVO();

aso =newASObject();

aso = (ASObject) array.get(i);

aso.setType("com.hospital.vo.ModuleVO");

myObject = (ModuleVO) ast.convert(aso, ModuleVO.class);

myObjectArray.add(myObject);

}

returnmyObjectArray;

}

其实传一个对象集合到后台的话直接在后台用ArrayList接参就可以(从java端传到Flex端也是一样),只不过ArrayCollection的vo对象要和后台中的bean对应起来(属性名一样,否则接不到值),需要注意的是Flex中vo对象中的属性要用public.

Flex端传给Java端一个ArrayCollection,Java端用ArrayList接收,之后循环遍历ArrayList,强转,就会取到Flex端传过来的值

For(int I = 0; i

HashMap map = (HashMap)arrayList.get(i) ;

String A = map.get(“Flex端VO的字段名”).toString() ;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值