潜龙腾渊
自我介绍
切换风格
订阅我的Blog
博客日历
文章归档...
最新发表...
最新评论...
最多阅读文章...
博客统计...
网站链接...
资源
===========================================================
Flex RemoteObject 简单应用Demo(转载)
===========================================================
主要实现java类方法调用,java对象数组传递,flex数据传递

程序在以下环境编译执行通过:
flex 1.5 Trail Edition
Tomcat/5.0.19
j2sdk1.4.2_10
WindowsXp Sp2


java文件编译后未打包,.class文件直接放到{flex-dir}WEB-INFclasses 目录下
实体User.java注意要实现Serializable接口,否则无法将对象传递到Flex。

注意修改Flex的访问控制, flex-config.xml 增加<source>*</source>

<remote-objects>
<whitelist>
<!-- whitelist config for unnamed objects -->
<unnamed>
<source>*</source>
</unnamed>
</whitelist>
</remote-objects>



RemoteObjectDemo.mxml

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

<mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml" verticalGap="10" initialize="initApp()">

<mx:Script>
<![CDATA[
var userList;

function initApp() {
userRO.getAllUser();
}

]]
>
</mx:Script>

<mx:RemoteObject id="userRO" source="UserManager"
result
="userList=event.result" fault="alert(event.fault.faultstring, 'Error')">

</mx:RemoteObject>

<mx:HBox>

<mx:Label text="Search"/>
<mx:TextInput id="key" width="120"/>

<mx:Button label="Get User List" click="userRO.getUser(key.text)"/>

</mx:HBox>

<mx:DataGrid dataProvider="{userList}" width="100%">
<mx:columns>
<mx:Array>
<mx:DataGridColumn columnName="id" headerText="Id"/>
<mx:DataGridColumn columnName="name" headerText="Name"/>
<mx:DataGridColumn columnName="phone" headerText="Phone"/>
<mx:DataGridColumn columnName="email" headerText="Email"/>
</mx:Array>
</mx:columns>
</mx:DataGrid>

</mx:Application>


UserManager.java

import java.util.ArrayList;

public class UserManager {

public Object[] getUser(String name) {
ArrayList users
= init();
ArrayList finder
= new ArrayList();
for(int i=0; i<users.size(); i++){
User user
= (User)users.get(i);
if(user.getName().equals(name)){
finder.add(user);
}

}

return finder.toArray();
}


public Object[] getAllUser() {
return init().toArray();
}


private ArrayList init() {
ArrayList list
= new ArrayList();

list.add(
new User(1, "Christina Coenraets", "555-219-2270", "ccoenraets@fictitious.com"));
list.add(
new User(2, "Louis Freligh", "555-219-2100", "lfreligh@fictitious.com"));
list.add(
new User(3, "Ronnie Hodgman", "555-219-2030", "rhodgman@fictitious.com"));
list.add(
new User(4, "Joanne Wall", "555-219-2012", "jwall@fictitious.com"));
list.add(
new User(5, "Maurice Smith", "555-219-2012", "maurice@fictitious.com"));
list.add(
new User(6, "Mary Jones", "555-219-2000", "mjones@fictitious.com"));

return list;

}


}


User.java

import java.io.Serializable;

public class User implements Serializable {

private int id;
private String name;
private String phone;
private String email;

public User() {

}


public User(int id){
this.id = id;
}


public User(int id, String name, String phone, String email) {
this.id = id;
this.name=name;
this.phone=phone;
this.email=email;

}


public int getId() {
return id;
}


public void setId(int id) {
this.id = id;
}


public String getName() {
return name;
}


public void setName(String name) {
this.name = name;
}


public String getPhone() {
return phone;
}
globlefly 发表于:2005.11.20 09:55 ::分类: ( Flex ) ::阅读:(1918次) :: 评论 (0) :: 引用 (0)

发表评论
标题

在此添加评论

称呼

邮箱地址(可选)

个人主页(可选)