配置服务器端destination

使用RemoteObject与服务器端通讯,需要用到Flex Date Services,本文使用的是BlazeDS server,BlazeDS的使用本文不做详细说明,可参看http://opensource.adobe.com/wiki/display/blazeds/BlazeDS/

在remoting-config.xml中配置destination,增加如下代码

 

  1. <destination id=“ helloWorld “> 
  2.  
  3. <properties> 
  4.  
  5. <source> cn.com. remote.test .helloWorld </source> 
  6.  
  7. <factory>springFactory</factory> 
  8.  
  9. </properties> 
  10.  
  11. </destination> 
  12.  
As对象与java对象的转换

在as中调用ro.sayHello时,传入一个as对象user,服务器端将会把user对象转换为java对象user。同样,如果服务器端方法return的是java User对象,as接收到的将是as的User对象。[RemoteClass(alias="cn.com. remote.test.User")]声明了As user对象与java User对象的对应关系。下面是基础类型或常用类的对应关系图。

 

 

需要注意到问题

flex remote传递object参数和接受返回的dojo对象,应注意以下问题:

1.as对象属性必须为public的

2.remote调用的java方法时,参数不能作为区别不同方法的依据,也就是说,java方法不

能重名

3.dojo对象,必须有无参构造函数

4.as对象需加[RemoteClass(alias="cn.com. remote.test.User")]