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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

flex java oracle_Flex使用Blazeds与Java交互及自定义对象转换详解-DATAGRID读取ORACLE数据...

發(fā)布時(shí)間:2025/3/11 java 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 flex java oracle_Flex使用Blazeds与Java交互及自定义对象转换详解-DATAGRID读取ORACLE数据... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、建立Flex與Java交互的工程。

本文中講到的交互是利用Blazeds的,因?yàn)檫@個(gè)是免費(fèi)的,呵呵,我是窮人。

首先就是去下載Blazeds的壓縮包,這個(gè)可以從官網(wǎng)或者CSDN、JavaEye上下到。解壓縮這個(gè)包,將里面的Blazeds.war解壓,后面建立工程時(shí)要使用。

在MyEclipse中建立一個(gè)web工程,名為FlexTest。(注意:這個(gè)工程的JDK一定是1.5或以上版本,本文使用6.0)

將剛才解壓的Blazeds.war包中的“META-INF”與“WEB-INF”文件夾以及文件夾中的內(nèi)容拷貝到工程的WebRoot下。WEB-INF中包含有Flex的配置文件以及Blazeds需要的Jar包。這時(shí)我們就可以在這個(gè)工程中寫入Java代碼了。本文以一個(gè)用戶列表為例,建立用戶實(shí)體類。代碼如下:

代碼

1 package com.rocd.flex.entity;

2

3 ?import java.io.Serializable;

4

5 public class UserBean implements Serializable {

6 private String userName;

7 private String password;

8 private int age;

9 private String email;

10

11 public String getUserName() {

12 return userName;

13 }

14

15 public void setUserName(String userName) {

16 this.userName = userName;

17 }

18

19 public String getPassword() {

20 return password;

21 }

22

23 public void setPassword(String password) {

24 this.password = password;

25 }

26

27 public int getAge() {

28 return age;

29 }

30

31 public void setAge(int age) {

32 this.age = age;

33 }

34

35 public String getEmail() {

36 return email;

37 }

38

39 public void setEmail(String email) {

40 this.email = email;

41 }

42 }

43

注意,由于這個(gè)實(shí)體類需要當(dāng)做Java代碼中方法的返回值傳遞給Flex中的AS代碼,所以需要繼承Serializable接口,否則將導(dǎo)致異常的發(fā)生。

然后,在建立一個(gè)供Flex調(diào)用的Java類。代碼如下

代碼

1 package com.rocd.flex.biz;

2

3 import java.util.ArrayList;

4 import java.util.List;

5

6 import com.rocd.flex.entity.UserBean;

7

8 public class UserManager {

9 public List getUserList() {

10 List list = new ArrayList();

11 for (int i = 0; i < 10; i++) {

12 UserBean user = new UserBean();

13 user.setUserName("用戶" + i);

14 user.setPassword("123");

15 user.setAge(20 + i);

16 user.setEmail("user" + i + "@aaa.com");

17 list.add(user);

18 }

19 return list;

20 }

21 }

22

這里就不連接數(shù)據(jù)庫去操作了,因?yàn)楸疚闹攸c(diǎn)放在Flex調(diào)用Java上,所以寫個(gè)樁數(shù)據(jù)用以測(cè)試。

寫完了這兩個(gè)類,就需要在WebRoot/WEB-INF/flex/remoting-config.xml中配置用以調(diào)用這個(gè)Java類的信道了。具體代碼如下:

代碼

1 <?xml version="1.0" encoding="UTF-8"?>

2

3 class="flex.messaging.services.RemotingService">

4

5

6 class="flex.messaging.services.remoting.adapters.JavaAdapter"

7 default="true"/>

8

9

10

11

12

13

14 com.rocd.flex.biz.UserManager

15

16

17

其中destination就是信道,properties是可以配置多個(gè)Java類,source是配置要調(diào)用Java類的包路徑。

到此,Java部分的代碼就寫完了。下面是Flex中的代碼。

在Flex Builder中創(chuàng)建一個(gè)Flex工程。名稱為FlexApp。如圖所示

注意Project Location的Folder要選擇MyEclipse建立的Web工程的WebRoot下。Server technology選擇J2EE

點(diǎn)擊[Next]按鈕進(jìn)入下一頁。如圖

注意Server location中Root folder要選擇Java Web工程的WebRoot路徑。Root URL是Java web工程的訪問路徑,由于使用的是Tomcat服務(wù)器,工程名為FlexTest,所以路徑是http://localhost:8080/FlexTest/,而

Context root則是Java Web項(xiàng)目的工程名。完成后點(diǎn)擊那個(gè)[Validate Configuration]進(jìn)行驗(yàn)證,如果窗口上方顯示如上圖所示的“黃三角”就說明可以進(jìn)行下一步操作了。

順利建立完Flex工程后,需要注意是否報(bào)錯(cuò),如果報(bào)錯(cuò),請(qǐng)注意調(diào)整Flex SDK的版本。

沒問題后,就要?jiǎng)?chuàng)建一個(gè)AS的類,用來接收J(rèn)ava程序的返回值了,也就是那個(gè)UserBean。代碼如下:

代碼

package com.rocd.flex.entity

{

[Bindable]

[RemoteClass(alias="com.rocd.flex.entity.UserBean")]

public class UserBean

{

public var userName:String;

public var password:String;

public var age:int;

public var email:String;

}

}

這里[Bindable]是可綁定的,[RemoteClass(alias="com.rocd.flex.entity.UserBean")]是和Java代碼中的UserBean類關(guān)聯(lián)起來。這樣就可以利用類型轉(zhuǎn)換來將Java對(duì)象轉(zhuǎn)換為AS對(duì)象了。

現(xiàn)在讓我們?cè)贔lex中調(diào)用這個(gè)Java代碼吧。代碼如下:

1 <?xml version="1.0" encoding="utf-8"?>

2

3 fontSize="12" initialize="init()">

4

5

6 import com.rocd.flex.entity.UserBean;

7 import mx.collections.ArrayCollection;

8 import mx.rpc.events.ResultEvent;

9

10 private function init():void

11 {

12 UserManager.getUserList();

13 UserManager.addEventListener(ResultEvent.RESULT,getUserList);

14 }

15

16 private function getUserList(event:ResultEvent):void

17 {

18 var userList:ArrayCollection = ArrayCollection(event.result);

19 var userList_FlexData:ArrayCollection = new ArrayCollection();

20 for (var i:int = 0; i < userList.length; i++)

21 {

22 var user:UserBean = UserBean(userList.getItemAt(i));

23 userList_FlexData.addItem(user);

24 }

25 dataGrid.dataProvider = userList_FlexData;

26 }

27 ]]>

28

29

30 showBusyCursor="true" />

31

32

33

34

35

36

37

38

39

40

41

42

啟動(dòng)Tomcat服務(wù)器后運(yùn)行這個(gè)Flex程序,如下圖所示:

我對(duì)Flex與Java交互這塊還不是很熟悉,所以有什么不對(duì)的地方,或者有更簡(jiǎn)單的方式,請(qǐng)大家給出建議。

總結(jié)

以上是生活随笔為你收集整理的flex java oracle_Flex使用Blazeds与Java交互及自定义对象转换详解-DATAGRID读取ORACLE数据...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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