日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Flex前端與Java服務(wù)端交互,反射機(jī)制挑大旗

Flex作為RIA的一支,提供了非常豐富多彩的客戶端實(shí)現(xiàn),并且編寫起來非常靈活.Java提供了強(qiáng)大的功能實(shí)現(xiàn),與Flex結(jié)合也讓Java開發(fā)穿上了華麗外衣.

BlazeDS 是LCDS的一個(gè)衍生版 ,為Flex和Java的交互提供通信橋梁 .BlazeDS起到的作用并沒有多么難理解,和SSH框架內(nèi)部機(jī)制類似的是,都是提供了一種反射服務(wù).比如,在Spring中我們使用IoC特性,這些都是依靠的Java底層的反射機(jī)制.

簡單說Flex / BlazeDS /Java ,三者之間,BlazeDS提供一種映射,使得Flex前端編碼能夠使用服務(wù)端的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關(guān)鍵字,來獲取映射中的Java對(duì)象,(關(guān)于Flex內(nèi)部的一些有意思的機(jī)制,還是要好好細(xì)心學(xué)習(xí)的,這方面了解不多,就不賣弄了.)

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

現(xiàn)在,我們的Flex前端就已經(jīng)能夠調(diào)用服務(wù)端的Java方法了.

在最初接觸Flex與Java交互時(shí),都是需要做一個(gè)傳參示例.主要是傳自定義類型參數(shù)(user:Users)和普通數(shù)據(jù)類型參數(shù)(str:String).

這里,大家要注意,我們自定義類型(Java類) ,要在Flex端進(jìn)行OO編程,需要拆箱裝箱,那么就需要Flex端能夠識(shí)別Java類,這里就要提到Flex內(nèi)部的一種映射機(jī)制.

創(chuàng)建一個(gè)ActionScript類,如下

 
 
 
 
  1. package com.flex.vo
  2. {
  3.     [Bindable]
  4.     [RemoteClass(alias="com.java.entity.Users")]
  5.     public class Users
  6.     {
  7.                //注意,需要寫好構(gòu)造函數(shù)
  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. }

這樣經(jīng)過Flex的內(nèi)部映射,在Java端和Flex端,我們有了對(duì)應(yīng)的一個(gè)實(shí)體類Users類,那么我們就可以O(shè)O編程,在Flex前端,使用AS的實(shí)體類進(jìn)行裝箱,然后做參傳遞給Java類,這樣就能夠完成了二者之間的自定義數(shù)據(jù)類型參數(shù)的傳遞.

框架應(yīng)用都是浮云,底層提供的反射機(jī)制是王道啊.

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


新聞名稱:Flex前端與Java服務(wù)端交互,反射機(jī)制挑大旗
分享URL:http://www.dlmjj.cn/article/cohijsh.html