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();
ModuleVO myObject;
ASObject aso;
for (int i=0;i < array.size(); i++){
myObject = new ModuleVO ();
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:
package vo
{
[Bindable]
public class ModuleVO
{
public var num:Number;
public var MID:int;
public var MCode:String;
public var MCN:String;
public var MEN:String;
public var MState:int;
public function fill(obj:Object):void{
for(var i:* in obj){
this[i]=obj[i];
}
}
}
}
Java端ModuleVO:
package com.hospital.vo;
public class ModuleVO {
public Number num;
public int MID;
public String MCode;
public String MCN;
public String MEN;
public int MState;
public Number getNum() {
return num;
}
public void setNum(Number num) {
this.num = num;
}
public int getMID() {
return MID;
}
public void setMID(int mid) {
MID = mid;
}
public String getMCode() {
return MCode;
}
public void setMCode(String code) {
MCode = code;
}
public String getMCN() {
return MCN;
}
public void setMCN(String mcn) {
MCN = mcn;
}
public String getMEN() {
return MEN;
}
public void setMEN(String men) {
MEN = men;
}
public int getMState() {
return MState;
}
public void setMState(int state) {
MState = state;
}
}
Java取convertArrayCollection里面的数据:
public boolean addMV( 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
public ArrayList convertArrayCollection(ArrayCollection array){
ArrayList myObjectArray = new ArrayList();
ASTranslator ast = new ASTranslator();
ModuleVO myObject;
ASObject aso;
for (int i=0;i < array.size(); i++){
myObject = new ModuleVO();
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;
}
其实传一个对象集合到后台的话直接在后台用ArrayList接参就可以(从java端传到Flex端也是一样),只不过ArrayCollection的vo对象要和后台中的bean对应起来(属性名一样,否则接不到值),需要注意的是Flex中vo对象中的属性要用public.
Flex端传给Java端一个ArrayCollection,Java端用ArrayList接收,之后循环遍历ArrayList,强转,就会取到Flex端传过来的值
For(int I = 0; i<arrayList.size();i++ ){
HashMap map = (HashMap)arrayList.get(i) ;
String A = map.get(“Flex端VO的字段名”).toString() ;
}
分享到:
相关推荐
NULL 博文链接:https://xaajie.iteye.com/blog/379054
Flex的Array和ArrayCollection
java-flex-mysql,实现增删改查,用户富客户端Flex,后台java封装list形式,Flex前台ArrayCollection来接受!
tree多数情况下操作xml比较方便,而本人却对xml有些排斥,说得更确切些,对xml用的不是那么得心应手,所以选择了ArrayCollection
NULL 博文链接:https://tangdonglai.iteye.com/blog/1478277
Flex的ArrayCollection在某些情况无法绑定解决方法
1. Java通过第三方控件POI操作Excel,读取的数据存储在...2. 通过Blazeds将ArrayList发送到Flex中的ArrayCollection中。(Blazeds构建过程不在本篇讨论范围,见flex4+blazeds+java通信(视频)) 3. 绑定到DataGrid。
ArrayCollection求最大值,最小值,排序。供大家共同学习一下。
因为new ArrayCollection 需要 array对象,event.result是空间返回对象(JAVA方法返回值)所以类型不同无法使用new 构造ArrayCollection ,可是恶心的FLEX偏偏支持javalist=ArrayCollection
ArrayCollection添加过滤器后,调用removeItemAt()是无法删除的,下面有个不错的解决方法,大家可以参考下
flex外部读取xml
flex通过httpService读取xml数据到datagird中,通过读取远程URL的XML数据(这里保存到本地),保存到ArrayCollection中,然后在将ArrayCollection绑定到datagird上 环境:flex3.0 可直接运行
//fr.data为flex加载excel的byte数组 var sheet:Array = excel.getSheetArray();//得到表格数据,为Array格式 var datasource:ArrayCollection = new ArrayCollection(sheet); //可转换为ArrayCollection,用于表格...
如果你建立的项目不是flex项目,而需要使用ArrayCollection等,请把这个mx包引入解决问题
Flex 编程小技巧 1. 复制内容到剪贴板 1. System.setClipboard(strContent); 2. 复制一个 ArrayCollection 1. //dummy solution( well, it works ) 2. var bar:ArrayCollection = new ArrayCollection(); 3. for ...
4.找到fusioncharts文件中FusionChartsFlex\Charts\FlashBuilder4_SWC下面的那个swc文件,将其复制到flex-libs文件夹下: 5.将FusionChartsFlex\Charts下面的FusionCharts和FusionWidgets两个文件夹复制到flex_...
其中包含一个三种状态的checkbox,DataGrid代码中引用了 带多选框的DataGrid(AdvancedDataGrid) 表头有全选CheckBox,三种状态:全选、部分选择、无选择 如果改变目录结构,需要在CustomCheckBox.mxml中更改inner....
//fr.data为flex加载excel的byte数组 var sheet:Array = excel.getSheetArray();//得到表格数据,为Array格式 var datasource:ArrayCollection = new ArrayCollection(sheet); //可转换为ArrayCollection,用于...
flex自定义用ArrayCollection做数据源的带checkbox的tree(功能强大的完美版^_^) .
第一章.Flex与ActionScript基础(3) 1.1节.用FlexBuilder创建Flex项目 1.2节.用FlexBuilder创建Flex库项目 1.3节.创建ActionScript项目 1.4节.在FlexBuilder中设置MXML编译器选项 1.5节.在FlexBuilder外部编译Flex...