这个demo也是根据程序从前台页面执行到后台java程序的流程来书写的
注:在此程序中引入了blazeds
1. 页面中的组件元素
view plaincopy to clipboardprint?<s:HGroup>
<s:TextInput id="username" width="120"/>
<s:Button label="clickMe" click="clickMe()"/>
</s:HGroup>
<s:HGroup>
<s:TextInput id="username" width="120"/>
<s:Button label="clickMe" click="clickMe()"/>
</s:HGroup>
2. 实现click属性中的方法clickMe()函数
view plaincopy to clipboardprint?<fx:Script>
<![CDATA[
private function clickMe():void{
var value:String = this.username.text;
this.testService.sayHello(value);
}
]]>
</fx:Script>
<fx:Script>
<![CDATA[
private function clickMe():void{
var value:String = this.username.text;
this.testService.sayHello(value);
}
]]>
</fx:Script>注意:在clickMe()函数中用到了远程对象testService,以及远程对象中的方法sayHello(),在书写该方法时并不会给出提示。
3. 在页面中引入远程对象testService
view plaincopy to clipboardprint?<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
<s:RemoteObject id="testService" destination="testService">
<s:method name="sayHello" result="returnResultHandler(event)"/>
</s:RemoteObject>
</fx:Declarations>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
<s:RemoteObject id="testService" destination="testService">
<s:method name="sayHello" result="returnResultHandler(event)"/>
</s:RemoteObject>
</fx:Declarations>解释:1)destination属性引入在remoting-config.xml文件中配置的<destination>标签中的对象名(该xml文件在下面的5部分给出)
2) <s:RemoteObject>中的id表示给该对象起个唯一标识名称。
3)<s:method>中name属性列出的是在远程对象中方法的名称,result属性是声明一个回调函数来处理结果值,该结果值在参数event中有封装。
4. 介绍处理返回结果的处理函数returnResultHandler(event)
view plaincopy to clipboardprint?<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.rpc.events.ResultEvent;
private function returnResultHandler(event:ResultEvent):void{
var str:String = String(event.result);
Alert.show(str);
}
]]>
</fx:Script>
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.rpc.events.ResultEvent;
private function returnResultHandler(event:ResultEvent):void{
var str:String = String(event.result);
Alert.show(str);
}
]]>
</fx:Script>解释:1)event.result得到远程对象的结果返回值,并转换成String类型,并复制给str
2)弹出对话框并输出str变量的值 Alert.show(str);
5. remoting-config.xml文件里暴漏出java对象供flex页面使用
view plaincopy to clipboardprint?<service id="remoting-service"
class="flex.messaging.services.RemotingService">
<destination id="testService">
<properties>
<source>com.test.service.TestService</source>
</properties>
</destination>
</service>
<service id="remoting-service"
class="flex.messaging.services.RemotingService">
<destination id="testService">
<properties>
<source>com.test.service.TestService</source>
</properties>
</destination>
</service>注意:在书写该文件的过程中并没有提示功能,大家输入的时候,请多注意!最好是copy
6.对应该配置文件中的远程对象com.test.service.TestService 类的文件如下:
view plaincopy to clipboardprint?public class TestService {
public String sayHello(String name){
System.out.println("method=sayHello");
return "hello:"+name;
}
}
public class TestService {
public String sayHello(String name){
System.out.println("method=sayHello");
return "hello:"+name;
}
}
以上就是一个flex+java交互的小例子,该交互是通过Remote Object方法来完成!
分享到:
相关推荐
Flex与后台交互的方法是其核心功能之一,确保前端用户界面与后端数据服务之间的无缝通信。以下将详细介绍Flex与后台交互的常见方法和相关知识点。 1. **AMF (Action Message Format)** AMF是Flex与服务器之间进行...
- 配置Flex项目属性,指定远程对象(Remote Object)为BlazeDS,并设置项目主源文件夹为`flex_src`。 7. **编写代码**: - 在Java端,创建一个类(如`UserBiz`),提供公开方法供Flex调用。 - 在Flex端,使用...
在`services-config.xml`中配置通道(Channel),这里我们使用AMF(Action Message Format)通道,这是一种高效的二进制数据格式,用于在Flex和Java之间传输数据。配置AMF通道的URL,指向MessageBrokerServlet,...
4. Flex客户端开发:在Flex应用中创建RemoteObject或HTTPService,指定Java服务的URL和方法名。 5. 数据交换:Flex客户端调用Java服务,Java服务处理请求并返回结果,通过AMF或SOAP进行数据交换。 6. 错误处理与...
4. **Java Remoting**:Flex可以通过Java Remote Method Invocation (Java RMI) 或 HTTP-based Remote Object (RO) 与Java应用进行通信。RO是BlazeDS提供的一种轻量级远程调用机制,它通过HTTP协议实现Flex与Java...
- 在Eclipse+FLEX Builder中,创建Flex项目,选择"Flex Project",设置项目名称和存储位置,选择J2EE服务器类型,并启用"Use remote object access service"和"WTP"选项,以便于Flex与Java的远程对象交互。...
FluorineFx是.NET平台上一个流行的开源库,它提供了Flex和.NET之间的集成,使得开发人员可以使用ActionScript和Flex来调用.NET服务,实现客户端和服务器端的交互。本实例代码涵盖了Flex与.NET互操作的多个方面,包括...
Flex是Adobe公司开发的一种用于创建富互联网应用程序(RIA)的开放源代码框架,它主要基于ActionScript编程语言和Flash Player运行环境。在Flex应用中,与后台数据交换是实现功能的关键部分,尤其对于处理数据库数据...
2. 在服务器端定义对应的Java类和方法,确保与Flex端的命名空间和接口匹配。 3. 在Flex客户端调用RemoteObject的方法,传递参数,实现远程调用。 4. 处理服务器返回的数据,通常使用EventDispatcher和Responder来...
【Flex面试题】Flex面试题主要涵盖Flex的基础概念、开发框架、MVC模式的应用、内存管理、垃圾回收机制、前端性能优化以及与后端通信等多个方面。以下是对这些知识点的详细解析: 1. AS2与AS3的区别: AS2...
标题中的“flex的远程对象调用”指的是在Adobe Flex应用程序中使用Remote Object(RO)服务进行远程通信的技术。Flex是一个开源的、基于ActionScript的框架,用于构建富互联网应用程序(RIA)。通过RO服务,Flex应用...
- **Remote Object和WebService**:Flex提供了与后端服务交互的接口,如调用远程方法和操作Web服务。 7. **Flex与移动设备** - **Adobe AIR**:Adobe Integrated Runtime,允许Flex应用运行在桌面和移动设备上,...
- Remote Object:用于调用服务器端的远程服务,通常基于AMF协议,速度快。 - HTTP Service:基于HTTP协议,适用于RESTful API交互。 7. 前端性能优化: - 动态加载Module减少初始加载时间。 - 使用Runtime ...
1. Remote Object:用于与后端服务(如AMF、SOAP)交互,实现数据的远程调用。 2. Web Service:调用HTTP服务,如RESTful API,获取或提交数据。 3. HTTPService:直接访问HTTP资源,支持XML、JSON等多种数据格式。 ...
本文将深入探讨如何利用BlazeDS进行Flex与后台Java服务的交互,以及相关的环境配置和代码实现。 一、环境准备 在开始Flex与BlazeDS的通信之前,我们需要搭建相应的开发环境。首先确保以下组件的安装: 1. Tomcat ...
6. **Services and Data Binding**: Flex API支持与服务器端的数据交互,如WebService、AMF(Action Message Format)或Remote Object服务。数据绑定机制使得视图组件可以直接与数据源关联,实现数据的自动更新。 7...
通过BlazeDS,开发者可以连接Flex客户端和Java后端服务,如使用Spring和Hibernate框架的应用程序,实现远程对象调用(Remote Object)和HTTP服务(HttpService)等功能。 远程对象调用(RemoteObject)是一种在Flex...
在Java编程领域,Remote Object是一种实现分布式计算的技术,它允许不同网络节点上的对象进行交互,仿佛它们在同一台机器上一样。这个"remoteObject-java简单CURD例子.rar"压缩包提供了一个示例,演示了如何使用Java...