Flex RemoteObject 简单应用Demo

本文介绍了一个使用Flex与Java进行交互的示例项目。该项目实现了用户数据的获取与展示功能,具体包括从Java后端获取用户列表并显示在Flex前端界面上。文章通过具体的源代码展示了如何设置Flex应用来调用Java远程对象方法,以及如何在Java端准备数据并返回给Flex。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主要实现java类方法调用,java对象数组传递,flex数据传递

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


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

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

None.gif<remote-objects>
None.gif
<whitelist>
None.gif
<!--whitelistconfigforunnamedobjects-->
None.gif
<unnamed>
None.gif
<source>*</source>
None.gif
</unnamed>
None.gif
</whitelist>
None.gif
</remote-objects>

RemoteObjectDemo.mxml

None.gif <? xmlversion="1.0"encoding="utf-8" ?>
None.gif
None.gif
< mx:Application xmlns:mx ="http://www.macromedia.com/2003/mxml" verticalGap ="10" initialize ="initApp()" >
None.gif
None.gif
< mx:Script >
None.gif
<! [CDATA[
None.gifvaruserList;
None.gif
None.giffunctioninitApp(){
None.gifuserRO.getAllUser();
None.gif}
None.gif
None.gif]]
>
None.gif
</ mx:Script >
None.gif
None.gif
< mx:RemoteObject id ="userRO" source ="UserManager"
None.gifresult
="userList=event.result" fault ="alert(event.fault.faultstring,'Error')" >
None.gif
None.gif
</ mx:RemoteObject >
None.gif
None.gif
< mx:HBox >
None.gif
None.gif
< mx:Label text ="Search" />
None.gif
< mx:TextInput id ="key" width ="120" />
None.gif
None.gif
< mx:Button label ="GetUserList" click ="userRO.getUser(key.text)" />
None.gif
None.gif
</ mx:HBox >
None.gif
None.gif
< mx:DataGrid dataProvider ="{userList}" width ="100%" >
None.gif
< mx:columns >
None.gif
< mx:Array >
None.gif
< mx:DataGridColumn columnName ="id" headerText ="Id" />
None.gif
< mx:DataGridColumn columnName ="name" headerText ="Name" />
None.gif
< mx:DataGridColumn columnName ="phone" headerText ="Phone" />
None.gif
< mx:DataGridColumn columnName ="email" headerText ="Email" />
None.gif
</ mx:Array >
None.gif
</ mx:columns >
None.gif
</ mx:DataGrid >
None.gif
None.gif
</ mx:Application >
None.gif


UserManager.java

None.gif import java.util.ArrayList;
None.gif
ExpandedBlockStart.gifContractedBlock.gif
public class UserManager dot.gif {
InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif
publicObject[]getUser(Stringname)dot.gif{
InBlock.gifArrayListusers
=init();
InBlock.gifArrayListfinder
=newArrayList();
ExpandedSubBlockStart.gifContractedSubBlock.gif
for(inti=0;i<users.size();i++)dot.gif{
InBlock.gifUseruser
=(User)users.get(i);
ExpandedSubBlockStart.gifContractedSubBlock.gif
if(user.getName().equals(name))dot.gif{
InBlock.giffinder.add(user);
ExpandedSubBlockEnd.gif}

ExpandedSubBlockEnd.gif}

InBlock.gif
returnfinder.toArray();
ExpandedSubBlockEnd.gif}

InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif
publicObject[]getAllUser()dot.gif{
InBlock.gif
returninit().toArray();
ExpandedSubBlockEnd.gif}

InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif
privateArrayListinit()dot.gif{
InBlock.gifArrayListlist
=newArrayList();
InBlock.gif
InBlock.giflist.add(
newUser(1,"ChristinaCoenraets","555-219-2270","ccoenraets@fictitious.com"));
InBlock.giflist.add(
newUser(2,"LouisFreligh","555-219-2100","lfreligh@fictitious.com"));
InBlock.giflist.add(
newUser(3,"RonnieHodgman","555-219-2030","rhodgman@fictitious.com"));
InBlock.giflist.add(
newUser(4,"JoanneWall","555-219-2012","jwall@fictitious.com"));
InBlock.giflist.add(
newUser(5,"MauriceSmith","555-219-2012","maurice@fictitious.com"));
InBlock.giflist.add(
newUser(6,"MaryJones","555-219-2000","mjones@fictitious.com"));
InBlock.gif
InBlock.gif
returnlist;
InBlock.gif
ExpandedSubBlockEnd.gif}

InBlock.gif
ExpandedBlockEnd.gif}

None.gif


User.java

None.gif import java.io.Serializable;
None.gif
ExpandedBlockStart.gifContractedBlock.gif
public class User implements Serializable dot.gif {
InBlock.gif
InBlock.gif
privateintid;
InBlock.gif
privateStringname;
InBlock.gif
privateStringphone;
InBlock.gif
privateStringemail;
InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif
publicUser()dot.gif{
InBlock.gif
ExpandedSubBlockEnd.gif}

InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif
publicUser(intid)dot.gif{
InBlock.gif
this.id=id;
ExpandedSubBlockEnd.gif}

InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif
publicUser(intid,Stringname,Stringphone,Stringemail)dot.gif{
InBlock.gif
this.id=id;
InBlock.gif
this.name=name;
InBlock.gif
this.phone=phone;
InBlock.gif
this.email=email;
InBlock.gif
ExpandedSubBlockEnd.gif}

InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif
publicintgetId()dot.gif{
InBlock.gif
returnid;
ExpandedSubBlockEnd.gif}

InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif
publicvoidsetId(intid)dot.gif{
InBlock.gif
this.id=id;
ExpandedSubBlockEnd.gif}

InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif
publicStringgetName()dot.gif{
InBlock.gif
returnname;
ExpandedSubBlockEnd.gif}

InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif
publicvoidsetName(Stringname)dot.gif{
InBlock.gif
this.name=name;
ExpandedSubBlockEnd.gif}

InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif
publicStringgetPhone()dot.gif{
InBlock.gif
returnphone;
ExpandedSubBlockEnd.gif}

InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif
publicvoidsetPhone(Stringphone)dot.gif{
InBlock.gif
this.phone=phone;
ExpandedSubBlockEnd.gif}

InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif
publicStringgetEmail()dot.gif{
InBlock.gif
returnemail;
ExpandedSubBlockEnd.gif}

InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif
publicvoidsetEmail(Stringemail)dot.gif{
InBlock.gif
this.email=email;
ExpandedSubBlockEnd.gif}

InBlock.gif
ExpandedBlockEnd.gif}

None.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值