这是最简单的JAVA与Flex通信程序,基本上是入门篇,使用的是Flex自带的RemoteObject,当然你也可以使用hessian,进入正题
?
1.新建一个Flex web工程,(我用的环境是MyEclipse集成Flex环境,服务器Tomcat),如果不会Email给我526554567@qq.com
?
2.新建一个JAVA类,用于Flex来源称调用的代码如下:
- package?com.cneric.blog.flex;??
- public?class?TestJava2Flex?{??
- ????public?String?sayHello(String?words){??
- ????????System.out.println("hello!"+words);??
- ????????return?"hello!"+words;??
- ????}??
- }??
?
这一步没什么可说的,注意的就是包名别弄错的,你建的是什么包,就写什么
?
3.在Flex配置好写好的JAVA类,这一步一定得有,配置很简单,如下
- <destination?id="java2Flex">??
- ????????<properties>??
- ????????????<source>com.cneric.blog.flex.TestJava2Flex</source>??
- ????????</properties>??
- ??????</destination>??
?
这里destination标签中的id随便起,只要不要和其他的重复就行了,因为Flex页面上调用JAVA类的话
就是靠这个ID来识别的
?
4.接着就是新建一个Flex应用程序调用了,程序很简单,大家建一个Flex应用程序然后拷贝下面代码就可以了
- <?xml?version="1.0"?encoding="utf-8"?>??
- <mx:Application?xmlns:mx="http://www.adobe.com/2006/mxml"?layout="absolute">??
- ??????
- ??????
- ????<mx:Script>??
- ????????<!--[CDATA[??
- ????????????import?mx.rpc.events.ResultEvent;??
- ??????????????
- ????????????public?function?call():void{??
- ????????????????var?str:String?=?textArea.text;??
- ????????????????j.sayHello(str);??
- ??????????????????
- ????????????}??
- ??????????????
- ??????????????
- ????????????public?function?myHandler(event:ResultEvent):void{??
- ????????????????var?newStr:String?=?event.result?as?String;??
- ????????????????textArea.text?=?newStr;???????????????
- ????????????}??
- ????????]]-->??
- ????</mx:Script>??
- ??????
- ??????
- ????<mx:RemoteObject?destination="java2Flex"?id="j"???
- ????????endpoint="http://localhost:8022/BlogByFlex/messagebroker/amf"??
- ????????result="myHandler(event)"/>??
- ????<mx:TextArea?x="191"?y="245"?id="textArea"/>??
- ????<mx:Button?x="236"?y="332"?label="通信"?fontSize="14"?id="btn"?click="call()"/>??
- </mx:Application>??
?
说明:这一步非常重要,结果常常不出来就是这里出来毛病,如果你会一点Flex的话,自己写代码的话
<mx:RemoteObject destination="java2Flex" id="j"?
endpoint="http://localhost:8022/BlogByFlex/messagebroker/amf"
? ?result="myHandler(event)"/>
这一段代码千万别弄错了 ,endpoint="http://localhost:8022/BlogByFlex/messagebroker/amf"一定要写
其中BlogByFlex一定要改成你建立的工程名,其他的配置也一定不要少了
?
?
程序大致思路:点击按钮-->接受TextArea的参数,通过RemoteObject调用相应的java类中的方法-->返回结果到TextArea中
并在控制台打印结果
?
这是最简单的一个Flex与JAVA通信程序,后面我还接着写深入一点的,还有利用hessian方式通信的方法