flex使用RemoteObject,如何给服务器端传递对象

举个例子吧,比如说用户登陆,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类型数据进行保存。

[b]给你我写的 flex + lcds+spring+hibernate的构架应用中的代码。也许对你有一点帮助。 [/b]
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));
}

}


[b]VO的as如下: [/b]
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;
}
}
}

[b]服务器端的java的POJO如下:[/b]
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;
}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值