日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

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

發(fā)布時間:2025/7/14 HTML 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Flex前端与Java服务端交互,反射机制挑大旗 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

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

?

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

?

?????? 簡單說Flex / BlazeDS /Java ,三者之間,BlazeDS提供一種映射,使得Flex前端編碼能夠使用服務端的Java類.

?

????????????

remoting-config.xml文件:

<?xml version="1.0" encoding="UTF-8"?><service id="remoting-service" class="flex.messaging.services.RemotingService"><adapters><!--Java對象 的適配器--><adapter-definition id="java-object" class="flex.messaging.services.remoting.adapters.JavaAdapter" default="true"/></adapters><default-channels><channel ref="my-amf"/></default-channels><destination id="userService"><properties><source>com.java.Service.UserService</source></properties></destination></service>


?

??????? 在Flex前端,通過使用Flex提供的RemoteObject關鍵字,來獲取映射中的Java對象,(關于Flex內(nèi)部的一些有意思的機制,還是要好好細心學習的,這方面了解不多,就不賣弄了.)

?

<fx:Declarations><mx:RemoteObject destination="userService" result="processResult(event)"id="us" fault="Alert.show(event.fault.message.toString())"endpoint="http://localhost:8080/BlazeDS_Java_Flex/messagebroker/amf"></mx:RemoteObject></fx:Declarations>


?

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

?

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

?

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

?

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

package com.flex.vo {[Bindable][RemoteClass(alias="com.java.entity.Users")]public class Users{//注意,需要寫好構造函數(shù)public function Users(){}private var _name:String;private var _password:String;public function get name():String{return _name;}public function set name(value:String):void{_name = value;}public function get password():String{return _password;}public function set password(value:String):void{_password = value;}}}


?

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

?

??????? 框架應用都是浮云,底層提供的反射機制是王道啊.

?

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

?

?

轉(zhuǎn)載于:https://www.cnblogs.com/lfsfxy9/archive/2011/08/16/2629255.html

總結(jié)

以上是生活随笔為你收集整理的Flex前端与Java服务端交互,反射机制挑大旗的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。