成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Flex與Java中的Object交互

開發(fā) 后端
Flex與Java中的Object進(jìn)行交互,需要準(zhǔn)備三個(gè)內(nèi)容,一個(gè)是Flex主文件,也就是我們的mxml文件,兩個(gè)Java類,一個(gè)remoting-config.xml。為了減少程序的復(fù)雜性,這里只證明Flex可以調(diào)用 Java中Object進(jìn)行交互,不進(jìn)行與數(shù)據(jù)庫(kù)的交互。

Flex與Java中的Object進(jìn)行交互,需要準(zhǔn)備三個(gè)內(nèi)容,一個(gè)是Flex主文件,也就是我們的mxml文件,兩個(gè)Java類,一個(gè)remoting-config.xml。為了減少程序的復(fù)雜性,這里只證明Flex可以調(diào)用 Java中Object進(jìn)行交互,不進(jìn)行與數(shù)據(jù)庫(kù)的交互。

新建一個(gè)Java實(shí)體類:SpeakUser.java, 如下:

  1. package com.cx.model; 
  2.  
  3. import java.io.Serializable; 
  4.  
  5. public class SpeakUser implements Serializable{ 
  6.          
  7.     private static final long serialVersionUID = -4154296753553491429L; 
  8.  
  9.     private String userName; 
  10.      
  11.     private String userPwd; 
  12.      
  13.     private String userTel; 
  14.      
  15.     private String userMail; 
  16.  
  17.     public String getUserName() { 
  18.         return userName; 
  19.     } 
  20.  
  21.     public void setUserName(String userName) { 
  22.         this.userName = userName; 
  23.     } 
  24.  
  25.     public String getUserPwd() { 
  26.         return userPwd; 
  27.     } 
  28.  
  29.     public void setUserPwd(String userPwd) { 
  30.         this.userPwd = userPwd; 
  31.     } 
  32.  
  33.     public String getUserTel() { 
  34.         return userTel; 
  35.     } 
  36.  
  37.     public void setUserTel(String userTel) { 
  38.         this.userTel = userTel; 
  39.     } 
  40.  
  41.     public String getUserMail() { 
  42.         return userMail; 
  43.     } 
  44.  
  45.     public void setUserMail(String userMail) { 
  46.         this.userMail = userMail; 
  47.     } 
  48.  

有的作者說這個(gè)實(shí)體類需要當(dāng)做Java代碼中方法的返回值傳遞給Flex中的AS代碼,所以需要繼承Serializable接口,否則將導(dǎo)致異常的發(fā)生。但是經(jīng)過筆者測(cè)試,這個(gè)Serializable是可選的,即使不繼承,也不會(huì)出現(xiàn)什么問題,可能是由于flex的版本所決定的吧。

再創(chuàng)建一Java對(duì)象:IntroduceOneself.java,供Flex調(diào)用, 類中 以SpeakUser作為參數(shù)。代碼如下:

  1. package com.cx.action; 
  2.  
  3. import com.cx.model.*; 
  4.  
  5. public class IntroduceOneself { 
  6.  
  7.     public String speak(SpeakUser user){ 
  8.         System.out.println("Hello, My Name is: " + user.getUserName()); 
  9.         System.out.println("My telephone is: " + user.getUserTel()); 
  10.         System.out.println("My Email is: " + user.getUserMail());        
  11.         return "名字叫:" + user.getUserName() + ", 電話是: "  
  12.                 + user.getUserTel() + ", 郵箱是: "+user.getUserMail()  
  13.                 + "來訪問您,請(qǐng)問您是否要接見?"
  14.     } 

然后創(chuàng)建一個(gè)ActionScript類:SpeakUser.as, 用于接受實(shí)體類SpeakUser.java的返回值,這里的[Bindable][RemoteClass]是和java代碼中的 SpeakUser.java類關(guān)聯(lián)起來。這樣利用類型轉(zhuǎn)換將java對(duì)象轉(zhuǎn)換成AS對(duì)象。代碼如下:

  1. package com.flex.model 
  2.      
  3.     [Bindable] 
  4.     [RemoteClass(alias="com.cx.model.SpeakUser")] 
  5.     public class SpeakUser 
  6.     { 
  7.         public var userName:String=""
  8.         public var userPwd:String =""
  9.         public var userTel:String =""
  10.         public var userMail:String =""
  11.                  
  12.         public function SpeakUser() 
  13.         { 
  14.              
  15.         } 
  16.     } 

修改Flex主文件:BlazObject.mxml,在其中調(diào)用java類,代碼如下:

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" minWidth="955" minHeight="600"> 
  3.      
  4.     <mx:Script> 
  5.         <![CDATA[            
  6.             import com.flex.model.SpeakUser; 
  7.              
  8.             import mx.controls.Alert; 
  9.             import mx.rpc.events.ResultEvent; 
  10.              
  11.             public function remotingHelloJavaFlex():void 
  12.             { 
  13.                  
  14.                 var user:SpeakUser = new SpeakUser(); 
  15.              
  16.                 user.userName = nameInputTxt.text; 
  17.                 user.userMail = txtUserMail.text; 
  18.                 user.userPwd = txtPwd.text; 
  19.                 user.userTel = txtTel.text; 
  20.                  
  21.                                  
  22.                 someOneCome.speak(user); 
  23.                 someOneCome.addEventListener(ResultEvent.RESULT,getRoHelloRes); 
  24.             } 
  25.              
  26.             private function getRoHelloRes(e:ResultEvent):void{ 
  27.                 Alert.show(e.result.toString()); 
  28.             } 
  29.              
  30.             private function failed():void{ 
  31.                 Alert.show("cuowu"); 
  32.             } 
  33.         ]]> 
  34.     </mx:Script> 
  35.      
  36.     <mx:Button label="JAVA Object + FLEX 通信" click="remotingHelloJavaFlex();" x="142" y="234" 
  37.                fontSize="12" width="209"/> 
  38.     <mx:Label text="姓名" x="121" y="55" fontSize="15"/> 
  39.     <mx:TextInput id="nameInputTxt" x="170" y="55"/> 
  40.     <mx:Label x="121" y="103" fontSize="15" text="密碼:"/> 
  41.     <mx:TextInput id = "txtPwd" x="170" y="106"/> 
  42.     <mx:Label x="121" y="145" fontSize="15" text="電話:"/> 
  43.     <mx:Label x="121" y="187" fontSize="15" text="郵箱:"/> 
  44.     <mx:TextInput id="txtTel" x="170" y="148"/> 
  45.     <mx:TextInput id="txtUserMail" x="170" y="190"/> 
  46.      
  47.     <mx:RemoteObject destination="someOneComeDes" id="someOneCome" endpoint="/BlazDSObject/messagebroker/amf" fault="failed()" /> 
  48.      
  49. </mx:Application> 

在這里,F(xiàn)lex是通過AMF協(xié)議與Java對(duì)象進(jìn)行交互的,其中endpoint定義了影射文件的消息協(xié)議,這個(gè)文件來自/WEB-INF/flex/services-config.xml中,影射對(duì)象的位置是通過remoting- service.xml影射的代碼如下:

  1. <channel-definition id="my-secure-amf" class="mx.messaging.channels.SecureAMFChannel"> 
  2.             <endpoint url="https://{server.name}:{server.port}/{context.root}/messagebroker/amfsecure" class="flex.messaging.endpoints.SecureAMFEndpoint"/> 
  3.             <properties> 
  4.                 <add-no-cache-headers>false</add-no-cache-headers> 
  5.             </properties> 
  6.         </channel-definition> 

remoting-service.xml

  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <service id="remoting-service"  
  3.     class="flex.messaging.services.RemotingService"> 
  4.  
  5.     <adapters> 
  6.         <adapter-definition id="java-object" class="flex.messaging.services.remoting.adapters.JavaAdapter" default="true"/> 
  7.     </adapters> 
  8.  
  9.     <default-channels> 
  10.         <channel ref="my-amf"/> 
  11.     </default-channels> 
  12.      
  13.     <destination id="someOneComeDes"> 
  14.         <properties> 
  15.             <source> 
  16.                 com.cx.action.IntroduceOneself 
  17.             </source> 
  18.         </properties> 
  19.     </destination> 
  20.      
  21. </service> 

原文鏈接:http://blog.csdn.net/shehun1/article/details/6691462

【編輯推薦】

  1. Java 8整裝待發(fā) 圖謀云計(jì)算
  2. Java 7是蜜糖還是毒藥?
  3. 選用Ibatis和Hibernate的區(qū)別
  4. JRuby和Java 7 我們可以期待什么
  5. Flex前端與Java服務(wù)端交互,反射機(jī)制挑大旗

 

 

 

 

 

 

 

責(zé)任編輯:艾婧 來源: shehun1的博客
相關(guān)推薦

2010-07-30 12:56:02

Flex調(diào)用JavaS

2009-07-06 10:41:38

flex與servle

2010-08-10 17:01:48

FlexJavaScript

2010-07-27 12:28:56

Flex Remote

2011-08-17 09:14:03

FlexJava

2010-08-10 09:40:23

Flex與瀏覽器交互

2010-08-06 13:59:00

Flex和Html交互

2010-08-03 14:24:37

Flex與java集成

2010-07-27 15:36:15

Flex swf

2022-05-16 11:17:01

應(yīng)用開發(fā)JSJAVA

2010-07-30 13:25:36

Flex

2010-07-29 14:27:52

FlexWeb

2010-08-06 09:24:44

FlexFlash

2010-08-09 15:41:13

Flex字體

2010-08-09 15:19:29

Flex滾動(dòng)條

2021-09-14 18:33:39

React 數(shù)據(jù)交互

2021-03-25 15:54:14

鴻蒙HarmonyOS應(yīng)用開發(fā)

2010-08-13 11:10:07

Flex.NETWebService

2010-07-27 10:54:22

Flex

2020-06-04 08:13:36

JavaScriptObject.is()運(yùn)算符
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 日本三级精品 | 国产综合久久 | 国产福利视频 | 国产精品亚洲一区二区三区在线观看 | 午夜精品久久久久久久星辰影院 | 精品在线一区 | 日韩国产专区 | 久久久久九九九女人毛片 | 免费一级做a爰片久久毛片潮喷 | 亚洲成人观看 | 久久久久久国产精品 | 91视频在线看 | 亚洲一区在线日韩在线深爱 | 亚洲一区 中文字幕 | hsck成人网 | 日韩av资源站 | 国产在线精品免费 | 中文字幕 亚洲一区 | 国产精品一区二区三区四区 | 亚洲欧美视频 | 亚洲欧美综合精品另类天天更新 | 黄色片在线免费看 | 婷婷开心激情综合五月天 | 亚洲精品第一国产综合野 | 欧美一级高清片 | 超碰导航 | 成人精品毛片国产亚洲av十九禁 | 国产精品高潮呻吟久久 | 91资源在线 | 精品福利一区 | 性欧美hd | 欧美中文字幕一区二区三区亚洲 | 男女下面一进一出网站 | 国产精品自产拍 | 秋霞av国产精品一区 | 女人精96xxx免费网站p | www.亚洲一区二区三区 | 91最新在线视频 | 一区二区三区中文字幕 | 欧美日韩精品中文字幕 | 日韩视频免费看 |