flex与java的通信 Blazeds remoteObject

都说flex技术很火,是未来RIA发展的必然趋势,必将大量使用,所以咋也扫扫盲,入个门,以备不时之需,哈哈,废话不说了。开始实战flex和java的通信,说白了就是flex和java的交互。

这次要实现的功能是:由flex给后台java发送一个请求,java返回数据给flex,再由flex对数据进行展示。就是这么简单。

1.新建一个flex项目(这部分涉及到flex和java的整合,参考我的博文flex与java的两种整合方式总结 )

2.项目建立后的结构图如下:

flex与java的通信 Blazeds remoteObject

3.在src目录下编写java类,如下,这样java部分的开放完毕

package com.yjck.flex;

public class HelloJavaFlex {
	public String helloJavaFlex(String name){
		System.out.println("hello world");
		return "Hello,'" + name + "':JAVA和FLEX可以通信了";
	}
}

 

 4.配置flex的remoting-config.xml文件,目录在WebContent\WEB-INF\flex文件下代码如下

 

<?xml version="1.0" encoding="UTF-8"?>
<service id="remoting-service" 
    class="flex.messaging.services.RemotingService">

    <adapters>
        <adapter-definition id="java-object" class="flex.messaging.services.remoting.
                                                                   adapters.JavaAdapter" default="true"/>
    </adapters>

    <default-channels>
        <channel ref="my-amf"/>
    </default-channels>
    <!-- 这里是配置远程的对象,也就是java类,destination在flex的前台要使用 -->
	<destination id="helloJavaFlex">
		<properties>
			<source>com.yjck.flex.HelloJavaFlex</source>
		</properties>
	</destination>
</service>

  5.书写mxml文件,代码如下

 

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	<mx:Script>
		<![CDATA[
			import mx.controls.Alert;
			import mx.rpc.events.ResultEvent;
			public function remotingHelloJavaFlex():void{
			var logNam: String = namInputTxt.text;
			remoteHello.helloJavaFlex(logNam);
			remoteHello.addEventListener(ResultEvent.RESULT, getRoHelloRes);
			}
			private function getRoHelloRes(e: ResultEvent) :void {
				Alert.show(e.result.toString());
			}
		]]>
	</mx:Script>
<mx:RemoteObject destination="helloJavaFlex" id="remoteHello"
 endpoint="http://localhost:8080/HelloFlexPro/messagebroker/amf"></mx:RemoteObject>
<mx:Button label="JAVA+FLEX通信" click="remotingHelloJavaFlex();" 
                                                                      x="121" y="96" fontSize="12   width="209"/>
	<mx:Label text="姓名:" x="121" y="55" fontSize="12"/>
	<mx:TextInput id="namInputTxt" x="170" y="55"/>
	<mx:TextInput x="166" y="181" id="show"/>
</mx:Application>

  6.完成,最后运行下看效果:

flex与java的通信 Blazeds remoteObject

 再上传一个使用datagrid的应用实例。

你可能感兴趣的:(java,数据结构,xml,Flex,Adobe)