关键字: 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的构架应用中的代码。也许对你有一点帮助。
VO的as如下:
服务器端的java的POJO如下:
同样,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;
}
}