通过RemoteObject在客户端与服务端间传递复杂对象:传递Bean对象

一、Java服务端类源码

     1、User类源码

package com.cjm.flex;

public class User {
	private String username;
	private String password;
	
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
}

 

     2、RemoteService类源码

package com.cjm.flex;

public class RemoteService {
	//将Java Bean传递到Flex客户端
	public User getUser(){
		User user = new User();
		user.setUsername("cjm11111");
		user.setPassword("pwd11111");
		return user;
	}
	
	//获取从Flex客户端传递过来的Bean对象
	public void saveUser(User user){
		System.out.println("显示:" + user.getUsername() + ", " + user.getPassword());
	}
}

  

二、配置信息

     1、在applicationContext.xml文件中配置Spring Bean

<bean id="remoteService" class="com.cjm.flex.RemoteService"/>

 

      2、在remoting-config.xml文件中配置接收点

<destination id="remoteService">
	<properties>
		<factory>spring</factory>
		<source>remoteService</source>
	</properties>
</destination>

 

三、AS类的源码

     1、User类的源码。

          1)文件结构必须要与Java服务端的User类一致,即都要包含username、password两个属性的getter、setter方法。

          2)在AS的User类中,必须通过metadata关键字RemoteClass指定其对应的服务端Java类。

package com.cjm.flex{
	[RemoteClass(alias="com.cjm.flex.User")]
	public class User{
		private var _username:String;
		private var _password:String;
		
		public function get username():String{
			return this._username;
		}
		
		public function set username(uid:String):void{
			this._username = uid;
		}
		
		public function get password():String{
			return this._password;
		}
		
		public function set password(pwd:String):void{
			this._password = pwd;
		}
	}
}

 

四、mxml文件部分源码

    1、从服务端获取Bean对象

private function call():void{
	var o:Operation = ro.getOperation("getUser") as Operation;
	o.addEventListener(ResultEvent.RESULT, resultEvent);
	o.send();
}
  
private function resultEvent(event:ResultEvent):void{
	var user:User = event.result as User;  
	try{
		txt1.text = user.username + ", " + user.password;
	}catch(e:Error){
		txt1.text = e.message;
	}
}

 

     2、将AS对象传递到服务端

private function call():void{
	var user:User = new User();
	user.username = "jm";
	user.password = "123";
	
	var o:Operation = ro.getOperation("saveUser") as Operation;
	o.addEventListener(ResultEvent.RESULT, resultEvent);
	o.send(user);
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值