Flex前端与Java服务端交互,反射机制挑大旗

Flex作为RIA的一支,提供了非常丰富多彩的客户端实现,并且编写起来非常灵活.Java提供了强大的功能实现,与Flex结合也让Java开发穿上了华丽外衣.

BlazeDS 是LCDS的一个衍生版 ,为Flex和Java的交互提供通信桥梁 .BlazeDS起到的作用并没有多么难理解,和SSH框架内部机制类似的是,都是提供了一种反射服务.比如,在Spring中我们使用IoC特性,这些都是依靠的Java底层的反射机制.

简单说Flex / BlazeDS /Java ,三者之间,BlazeDS提供一种映射,使得Flex前端编码能够使用服务端的Java类.

remoting-config.xml文件:

 
 
 
 
  1.     class="flex.messaging.services.RemotingService">
  2.  
  3.     
  4.         
  5.     
  6.  
  7.     
  8.         
  9.     
  10.     
  11.     
  12.             
  13.                     com.java.Service.UserService
  14.             
  15.     
  16.  

在Flex前端,通过使用Flex提供的RemoteObject关键字,来获取映射中的Java对象,(关于Flex内部的一些有意思的机制,还是要好好细心学习的,这方面了解不多,就不卖弄了.)

 
 
 
 
  1.  id="us" fault="Alert.show(event.fault.message.toString())"
  2.  endpoint="http://localhost:8080/BlazeDS_Java_Flex/messagebroker/amf">

现在,我们的Flex前端就已经能够调用服务端的Java方法了.

在最初接触Flex与Java交互时,都是需要做一个传参示例.主要是传自定义类型参数(user:Users)和普通数据类型参数(str:String).

这里,大家要注意,我们自定义类型(Java类) ,要在Flex端进行OO编程,需要拆箱装箱,那么就需要Flex端能够识别Java类,这里就要提到Flex内部的一种映射机制.

创建一个ActionScript类,如下

 
 
 
 
  1. package com.flex.vo
  2. {
  3.     [Bindable]
  4.     [RemoteClass(alias="com.java.entity.Users")]
  5.     public class Users
  6.     {
  7.                //注意,需要写好构造函数
  8.         public function Users()
  9.         {
  10.         }
  11.         
  12.         private var _name:String;
  13.         private var _password:String;
  14.         
  15.         public function get name():String
  16.         {
  17.             return _name;
  18.         }
  19.         public function set name(value:String):void
  20.         {
  21.             _name = value;
  22.         }
  23.         public function get password():String
  24.         {
  25.             return _password;
  26.         }
  27.         public function set password(value:String):void
  28.         {
  29.             _password = value;
  30.         }
  31.     }
  32. }

这样经过Flex的内部映射,在Java端和Flex端,我们有了对应的一个实体类Users类,那么我们就可以OO编程,在Flex前端,使用AS的实体类进行装箱,然后做参传递给Java类,这样就能够完成了二者之间的自定义数据类型参数的传递.

框架应用都是浮云,底层提供的反射机制是王道啊.

不管你信不信,反正我是信了.

当前题目:Flex前端与Java服务端交互,反射机制挑大旗
分享路径:http://www.mswzjz.cn/qtweb/news10/372810.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能