当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

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

发表于: 2008-11-28   作者:coral0212   来源:转载   浏览:
摘要: 关键字: flex 举个例子吧,比如说用户登陆,FLEX肯定要向JAVA传递用户名和密码,如果我把这个值封装到一个UserSource对象里面,然后把这个对象传给JAVA,行不行?! 同样,JAVA端又能不能将封装到一个UserSource对象里的信息传给FLEX?! 这两个问题一样,可以通过AS建立一个与JAVA的对应类来接收相应的数据传递; 而如果只是参数问题,直接设置相关的方

关键字: flex

举个例子吧,比如说用户登陆,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使用RemoteObject,如何给服务器端传递对象

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号