Flex调用Java对象:远程访问教程
4星 · 超过85%的资源 需积分: 3 110 浏览量
更新于2024-11-10
收藏 2KB TXT 举报
"本文档提供了一个关于如何使用Flex与Java对象进行交互的示例,主要涉及Flex中的ActionScript远程调用Java对象的技术。"
在Flex和Java集成的场景中,通常需要通过ActionScript来访问Java应用程序中的对象和方法。这个过程涉及到几个关键步骤:
1. 编写Java类:首先,你需要创建一个Java类,如`FlexCallJava`,它包含你要暴露给Flex的公共方法。在给出的例子中,`FlexCallJava`有一个名为`getString()`的方法,该方法打印一条消息并返回"sucess"字符串。
```java
package org.common;
public class FlexCallJava {
public String getString() {
System.out.println("flexcalljavasucess!");
return "sucess";
}
}
```
2. 配置Remoting服务:接下来,需要配置Flex Remoting服务,这通常通过修改`remoting-config.xml`文件完成。在这个文件中,定义了一个名为`fcj`的服务目的地,它指定了`FlexCallJava`作为源。Remoting服务使用JavaAdapter适配器,使得ActionScript可以与Java对象通信。
```xml
<?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 id="my-amf"/>
</default-channels>
<destination id="fcj">
<properties>
<source>org.common.FlexCallJava</source>
</properties>
</destination>
</service>
```
3. 在Flex中创建RemoteObject:在Flex的MXML界面中,使用`<mx:RemoteObject>`标签来创建一个与Java对象的连接。指定`destination`属性为`fcj`,与`remoting-config.xml`中的目的地ID匹配。这样,你就可以通过`fcjInstance`引用来调用Java对象的方法。
```xml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init();">
<mx:Script>
<![CDATA[
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
private function init():void {
fcjInstance.getStringResult.addEventListener(ResultEvent.RESULT, handleResult);
fcjInstance.getStringFault.addEventListener(FaultEvent.FAULT, handleError);
fcjInstance.getString();
}
private function handleResult(event:ResultEvent):void {
var result:String = event.result as String;
trace("Result from Java: " + result);
}
private function handleError(event:FaultEvent):void {
trace("Error: " + event.fault.message);
}
]]>
</mx:Script>
<mx:RemoteObject id="fcjInstance" destination="fcj"/>
</mx:Application>
```
在这个MXML应用中,`init()`函数在组件创建完成后调用,触发`getString()`方法,并设置事件监听器以处理返回的结果或可能出现的错误。`handleResult`函数接收并打印结果,而`handleError`函数处理任何错误信息。
通过这种方式,Flex客户端能够无缝地调用Java服务器端的对象和方法,实现了客户端与服务器端的双向通信。这种技术在开发富互联网应用程序(RIA)时非常有用,因为它允许ActionScript代码与Java后端进行交互,从而利用Java的强大功能和Flex的用户界面优势。
2010-06-08 上传
2014-03-20 上传
2010-02-07 上传
2012-02-01 上传
2010-04-06 上传
2021-09-29 上传
2009-12-28 上传
2013-06-06 上传
2009-12-29 上传
emyang
- 粉丝: 0
- 资源: 4
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍