举个例子吧,比如说用户登陆,FLEX肯定要向JAVA传递用户名和密码,如果我把这个值封装到一个UserSource对象里面,然后把这个对象传给JAVA,行不行?!
同样,JAVA端又能不能将封装到一个UserSource对象里的信息传给FLEX?!
这两个问题一样,可以通过AS建立一个与JAVA的对应类来接收相应的数据传递;
而如果只是参数问题,直接设置相关的方法,象JAVA中那么调用就行。
如果JAVA端返回的是一个LIST集合,那么FLEX端要如何接收,又如何将LIST里的值一个一个取出来?
JAVA端的LIST在FLEX中表现的方式是数组方式。如果LIST里是一些复杂类型的数据,则需在JAVA端用MAP的方式映射相应的数据内容,在FLEX中的数据则以{O1:V1,O2:V2}的OBJECT类型数据进行保存。
给你我写的 flex + lcds+spring+hibernate的构架应用中的代码。也许对你有一点帮助。
public class AdminLogInCommand implements ICommand
{
[Bindable]
public var modelLocator:AdminModelLocator = AdminModelLocator.getInstance();
public function AdminLogInCommand()
{
}
public function execute(event:CairngormEvent):void
{
var adminLogInEvent:AdminLogInEvent = event as AdminLogInEvent;
var ro:RemoteObject = new RemoteObject("administratorServiceRO",true);
ro.addEventListener(ResultEvent.RESULT,doRes);
ro.addEventListener(FaultEvent.FAULT,doFault);
ro.logon(adminLogInEvent.username,adminLogInEvent.password);
//modelLocator.adminState = modelLocator.ADMIN_MAIN_PAGE;
}
private function doRes(evt:ResultEvent):void{
modelLocator.adminState = modelLocator.ADMIN_MAIN_PAGE;
}
private function doFault(evt:FaultEvent):void{
var parseError:ErrorMsg = new ErrorMsg();
mx.controls.Alert.show(parseError.getErrorMsg(evt.fault.faultString));
}
}
VO的as如下:
package com.firemax.project.freshkon.vo
{
import com.adobe.cairngorm.vo.ValueObject;
[RemoteClass(alias="com.firemax.project.freshkon.hibernate.FkTAdministrator")]
public class AdminVO implements ValueObject
{
[Bindable]
public var userId:String;
[Bindable]
public var userName:String;
[Bindable]
public var password:String;
[Bindable]
public var loginCount:int;
[Bindable]
public var lastLogin:Date;
public function AdminVO()
{
}
public function toString():String{
var s : String = "Administrator[userId=";
s += userId;
s += ", userName=";
s += userName;
s += ", password=";
s += password;
s += ", loginCount=";
s += loginCount;
s += ", lastLogin=";
s += lastLogin;
s += "]";
return s;
}
}
}
服务器端的java的POJO如下:
package com.firemax.project.freshkon.hibernate;
import java.util.Date;
/**
* FkTAdministrator entity.
*
* @author MyEclipse Persistence Tools
*/
public class FkTAdministrator implements java.io.Serializable {
// Fields
private String userId;
private String userName;
private String password;
private Integer loginCount;
private Date lastLogin;
// Constructors
/** default constructor */
public FkTAdministrator() {
}
/** full constructor */
public FkTAdministrator(String userName, String password,
Integer loginCount, Date lastLogin) {
this.userName = userName;
this.password = password;
this.loginCount = loginCount;
this.lastLogin = lastLogin;
}
// Property accessors
public String getUserId() {
return this.userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getUserName() {
return this.userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return this.password;
}
public void setPassword(String password) {
this.password = password;
}
public Integer getLoginCount() {
return this.loginCount;
}
public void setLoginCount(Integer loginCount) {
this.loginCount = loginCount;
}
public Date getLastLogin() {
return this.lastLogin;
}
public void setLastLogin(Date lastLogin) {
this.lastLogin = lastLogin;
}
}
分享到:
相关推荐
在Flex开发中,为了实现客户端(Flex应用)与服务器端(通常是Java应用)的数据交互,开发者经常使用`RemoteObject`组件。本篇文章将深入探讨如何使用`RemoteObject`与Java进行JSON格式的数据交换,以便更好地理解和...
RemoteObject是Flex提供的一种服务,它使得客户端与服务器端之间的通信变得简单,尤其是对于需要调用远程服务或业务对象的情况。 在Flex中,RemoteObject组件是实现AMF(Action Message Format)协议的关键。AMF是...
这里需要指定服务的URL、命名空间、以及服务器端的数据接口。 3. **创建RemoteObject实例**:在ActionScript代码中,我们需要创建一个RemoteObject实例,并指定其连接的后端服务名和方法。例如: ```as3 var ...
将Flex客户端的方法与服务器端的业务逻辑方法进行映射。例如,如果你有一个Java类`MeetingService`,其中有一个方法`queryMeetingByID`,可以这样映射: ```actionscript [Bindable] [RemoteMethod] public ...
在Flex中,使用ActionScript动态调用RemoteObject类是一种常见的实现客户端与服务器端交互的方式。通过这种方式,开发者可以在客户端灵活地调用服务器端的服务,并处理返回的数据。下面将详细介绍如何在Flex中使用...
在Flex客户端,我们可以通过Flex的RemoteObject组件来调用服务器端的方法并传递或接收Java对象实例。例如: ```actionscript [Bindable] private var myService:RemoteObject = new RemoteObject(); myService....
标题中的“flex的远程对象调用”指的是在Adobe Flex应用程序中使用Remote Object(RO)服务进行远程通信的技术。Flex是一个开源的、基于ActionScript的框架,用于构建富互联网应用程序(RIA)。通过RO服务,Flex应用...
2. RemoteObject:RemoteObject是Flex与服务器端进行AMF(Action Message Format)通信的组件,它允许Flex应用程序调用服务器上的Java方法,从而获取或更新数据库中的数据。在Flex中,我们需要配置RemoteObject连接...
在Flex中,我们可以创建一个输入框让用户输入搜索关键字,然后在`searchlist`方法被调用时,将关键字作为参数传递给服务器,服务器端进行相应的查询操作,最后返回结果给Flex客户端。这些结果会被加载到DAGAGRID中,...
为了处理服务结果,Flex 提供了显式参数传递和参数绑定的能力,开发者可以灵活地在客户端和服务器端传递数据和处理结果。 在使用 Flex 4.5 进行数据访问时,开发者需要注意数据访问服务的法律声明问题。具体到 ...
BlazeDS是Adobe公司推出的一款开源的服务器端技术,它主要的作用是为Flex客户端与Java后端应用提供数据集成和实时通信。BlazeDS通过AMF(Action Message Format)协议,实现了高性能、低延迟的数据传输,使得Flex...
Java则是一种广泛应用的面向对象的编程语言,常用于服务器端开发,包括数据库连接和业务逻辑处理。MySQL是流行的开源关系型数据库管理系统,广泛应用于各种规模的应用中,因其高效、稳定和易用而受到青睐。 在"flex...
【Flex + Java简单例子】是关于使用Flex与Java进行跨域数据交互的一个基础教程,主要涉及Flex客户端和Java服务器端的配置与开发。这个例子旨在展示如何通过BlazeDS库在Flex前端和Java后端之间建立通信。 首先,我们...
Flex提供多种方式访问服务器端,最典型的就是使用HttpService、WebService、RemoteObject组件,它们分别用于不同的通信场景,提供了数据的异步请求、Web服务访问、远程对象调用等功能。 4. 数据库连接池技术:...
例如,使用Flex的RemoteObject或ServiceCallout组件,可以调用服务器端的Java方法,获取或更新数据。 5. **事件驱动编程**:Flex和BlazeDS支持事件驱动编程模式,当服务器端数据发生变化时,可以自动通知Flex客户端...
在Flex中,我们可以使用`RemoteObject`组件来连接到BlazeDS服务,然后调用Java服务的方法,传递和接收参数。 2. **配置服务**:在Java端,你需要创建一个Spring或其它IoC容器管理的服务,然后使用BlazeDS或LCDS提供...
5. **RemoteObject和 BlazeDS**:如果通信涉及到服务器端数据,可以使用RemoteObject或BlazeDS服务。通过这些服务,模块可以异步调用服务器上的方法,获取或更新数据,然后传递给其他模块。 在"SimpleModule_Main...
2. **AMFPHP**:AMFPHP是一个开源的服务器端组件,它实现了Adobe的Action Message Format(AMF),允许Flex应用与PHP服务器进行高效的数据交换。在C#环境中,可以利用AMFPHP的C#版本(如Red5Pro)来实现Flex与C#的...
【Flex与Asp.Net通过Remoting方式进行通讯】是一种在客户端使用Flex进行富互联网应用开发,与服务器端基于Asp.Net的应用进行数据交换的技术。Remoting是远程方法调用的简称,它允许Flex客户端直接调用服务器上的.NET...
Flex作为Adobe推出的基于ActionScript的开放源代码框架,主要用于构建交互性强的用户界面,而Java则是一种广泛使用的后端开发语言,提供了强大的服务器端功能。二者结合可以实现前端与后端的有效数据交换,为用户...