本人对flash不太懂,曾用flex做过一个项目,调用java是通过remoteobject,那个时候觉得最不方便的就是写法上不直观。
因为remoteobject本身就要写很多的配置和bean,而且as要跑去调remoteobject,然后再由remoteobject指定返回的方法,对于返回的参数也必须匹配,很麻烦。
现在的工作是个游戏移植,flash+struts,学习里面一种依靠xml使flash与java通信的方法,也许很多人都会,但我确实是初次接触,贴出来分享下。
下面是部分代码:
as侧:
//声名
loadXML.ignoreWhite=true;
//读xml,但是其实是通过读取,调用java
loadXML.load("http://www.xxxxx.com/xxx/?"+new Date().getTime());
//回调
loadXML.onLoad =function(Succ){
if(Succ){
ok_func(loadXML);
}
}
//回调调用的方法
function ok_func(loadXML){
.........
}
java侧(配置及准备数据就不说了,xxxx.do在ok的情况下forward到xxx.html)
xxx.html(输出java准备的数据):
<?xml version="1.0" encoding="utf-8"?>
<aa>
#foreach($bean in $beanList)
<bb>
<id>$bean.id</id>
<name>$bean.name</name>
.
.
.
</bb>
#end
</aa>
最终,flash通过读取貌似和xml无关的.do,完成与java通信,获得了数据。