對於建立一個flex web應用的步驟我就不多說了哈。
首先要求大家到數據庫建立一個數據庫,在我這例子中數據庫名爲userDb,建立一個表userInfo,裏面設置兩個字段一個爲id,一個爲name.第二,創建以下java代碼在src目錄下
User.java package org.rjb.java; public class User { private String name; public String getName() { return name; } public void setName(String name) { this .name = name; } } UserDao.java package org.rjb.java; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; public class UserDao { public static Connection getConnection() { Connection c = null ; try { String driver = " com.mysql.jdbc.Driver " ; String url = " jdbc:mysql://localhost:3306/userDb " ; String username = " root " ; String password = " 1235 " ; Class.forName(driver); c = DriverManager.getConnection(url,username,password); } catch (Exception e) { System.out.println(e.getMessage()); } return c; } public List getAllUser() throws SQLException { Connection c = getConnection(); Statement st = c.createStatement(); ResultSet rs = st.executeQuery( " select * from UserInfo " ); ArrayList userList = new ArrayList < User > (); while (rs.next()) { User u = new User(); u.setName(rs.getString( " name " )); userList.add(u); } return userList; } } |
以上是java端的全部代碼了,下面是flex端的代碼。
第三,創建以下代碼在flex_src下:
User.as package org.rjb.flex { [RemoteClass(alias = " org.rjb.java.User " )] public class User { private var _name:String; public function User() { } public function get name():String { return this ._name; } public function set name(name:String): void { this ._name = name; } } } User.as package org.rjb.flex { [RemoteClass(alias = " org.rjb.java.User " )] public class User { private var _name:String; public function User() { } public function get name():String { return this ._name; } public function set name(name:String): void { this ._name = name; } } } |
接下來是mxml代碼,也就是我們真正展示我們數據的界面
FlexWithJava
.mxml <? xml version="1.0" encoding="utf-8" ?> < mx:Application xmlns:mx ="http://www.adobe.com/2006/mxml" layout ="vertical" > < mx:RemoteObject id ="ud" destination ="UserDao" result ="onResult(event)" fault ="onFault()" /> < mx:DataGrid dataProvider ="{users}" > < mx:columns > < mx:DataGridColumn dataField ="name" headerText ="name" /> </ mx:columns > </ mx:DataGrid > < mx:Label id ="info" /> < mx:Button label ="click" click ="clickFun()" /> < mx:Script > <![CDATA[ import mx.collections.ArrayCollection; import mx.rpc.events.ResultEvent; [Bindable] public var users:ArrayCollection=new ArrayCollection(); public function clickFun():void{ ud.getAllUser(); } public function onResult(event:ResultEvent):void{ users=ArrayCollection(event.result); info.text="get data successfully"; } public function onFault():void{ info.text="Error"; } ]]> </ mx:Script > </ mx:Application > |
第四,配置remoting-config.xml,在裏面加上如下配置文件:
<
destination
id
="UserDao"
>
<
properties
>
<
source
>
org.rjb.java.UserDao
</
source
>
</
properties
>
</
destination
>