这是最简单的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方式通信的方法