手机
当前位置:查字典教程网 >网页设计 >Flash教程 >使用asx3m与xstream配合解决flex与java利用httpservice传递xml数据问题
使用asx3m与xstream配合解决flex与java利用httpservice传递xml数据问题
摘要:后端也存在javauserobject类,利用xstream组件把list中的user对象序列化成xml数据。在flex端通过httpser...

后端也存在java user object类,利用xstream组件把list中的user对象序列化成xml数据。在flex端通过httpservice使用E4X format格式获取。

刚开始自己准备通过e4x技术来解析xml,构造flex user object,类似这样的处理方式:

复制代码 代码如下:

public function fromXML(currentNode:XML):void{

userID = new Number(currentNode.userID);

userName = currentNode.userName;

......

}

不过这种方式太过于繁琐。于是想自己利用flex reflect来实现一个通用的convert或者说类似xstream这样的组件。

当然,首先是去google一把,还真找到两个,一个是XMLConverter (http://www.customware.net/repository/display/FLEX/Integrating+Flex+with+XML+using+XMLConverter),一个就是完全兼容xtream的 asx3m (http://code.google.com/p/asx3m/)。

XMLConverter简单,不过不是开源的,对于解析单个对象的xml格式,还是够的,但是对于解析复杂的包含list结构的,就爱莫能助了。最终还是采用了asx3m,很方便。—— 唯一不爽的就是,asx3m竟然需要依赖VEGAS(http://vegas.googlecode.com/svn/AS3/trunk/src/vegas/)这个庞然大物(其实其只需要hashmap, list等几个辅助类)

使用asx3m确实很方便,两端代码也很简易,如下:

服务器端的java代码:

List<WorkItem> users = um.queryUsers(1);

XStream xstream = new XStream();

xstream.alias("User", User.class);

String xml = xstream.toXML(users);

List<WorkItem> users = um.queryUsers(1);

XStream xstream = new XStream();

xstream.alias("User", User.class);

String xml = xstream.toXML(users);

Flex端的as代码:

import hr.binaria.asx3m.Asx3m;

import hr.binaria.asx3m.Asx3mer;

var xmlc:Asx3mer = Asx3mer.instance;

xmlc.xstream.alias("User", User);

//这个array中就是user对象列表

var array:ArrayCollection = xmlc.fromXML( compXML ) as ArrayCollection;

import hr.binaria.asx3m.Asx3m;

import hr.binaria.asx3m.Asx3mer;

var xmlc:Asx3mer = Asx3mer.instance;

xmlc.xstream.alias("User", User);

//这个array中就是user对象列表

var array:ArrayCollection = xmlc.fromXML( compXML ) as ArrayCollection;

就这么简单。—— 当然,这种方式,需要在两端维护两套对象结构(java object)和(as object),但其扩展性和灵活度要比那种AMF的remoteobject的方式高很多。

【使用asx3m与xstream配合解决flex与java利用httpservice传递xml数据问题】相关文章:

Flash教你如何制作火苗跟随鼠标

Flash制作一种独特的图片GIF动画特效

flash脚本的运用基础教程

Flash cs3实例教程:运用图层简单实现传统数字动画效果

Flash CS4打造星光四射的莲花实例教程

Flash入门教程:Flash简单制作金属文字效果

flash怎么制作太阳月亮地球演示动态图?

FLASH AS3与网页JS参数值传递的问题

Flash CS4给任意照片添加雪景动画gif效果

Flash教你建造水滴掉落落动画结果

精品推荐
分类导航