flex用RemoteObject方式与java交互
首先看一个简单的java类:
Java代码
package com.test; public class TestVo { public String toSayHello(String str) { return " to say hello " + str; } }
package com.test;
public class TestVo { public String toSayHello(String str) { return " to say hello " + str; } }
接着我们需要在 remoting-config.xml中配置 增加如下代码:
Java代码
<destination id = "myJavaClassRemoteObject"> <properties> <source>com.test.TestVo</source> <scope>application</scope> </properties> </destination>
<destination id = "myJavaClassRemoteObject"> <properties> <source>com.test.TestVo</source> <scope>application</scope> </properties> </destination>
下面的这个mxml中调用了这个TestVo
Java代码
<?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; import mx.controls.Alert; private function callVO(str:String):void{ javaVo.toSayHello(str); javaVo.addEventListener(ResultEvent.RESULT,getVo); } private function getVo(e:ResultEvent):void{ Alert.show(e.result.toString()); } ]]> </mx:Script> <mx:RemoteObject id="javaVo" destination="myJavaClassRemoteObject" /> <mx:Button click="callVO(’你好’)" label="请求" height="50" width="100" /> </mx:Application>
<?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; import mx.controls.Alert; private function callVO(str:String):void{ javaVo.toSayHello(str); javaVo.addEventListener(ResultEvent.RESULT,getVo); } private function getVo(e:ResultEvent):void{ Alert.show(e.result.toString()); } ]]> </mx:Script>
<mx:RemoteObject id="javaVo" destination="myJavaClassRemoteObject" /> <mx:Button click="callVO(’你好’)" label="请求" height="50" width="100" />
</mx:Application>
这个项目是在myeclipse6.0中建立的,首先需要建立成flex project ,然后需要将其变成web project ,就OK了。 |