java remote类_RemoteObject与Java类通讯

今天摸索了一下Flex3中使用RemoteObject和Java类的通讯问题,感觉非常方便,虽然使用HttpService也可以,但多了一个控制器,并且还要对数据进行处理;而使用RemoteObject,则可能直接访问类方法。

要注意的是在编译Java文件时,不能使用JDK1.5以上的版本,开始我用的是JDK1.6,Tomcat容器启动的时候,提示版本异常,后来改成Jdk1.5,错误才得以消除。

虽然程序运行成功,但我一直没找到将Web Project与Flex Project整合的好方法,Eclipse插件在我这里似乎有问题,所以,我是先使用命令编译好类,然后放到Flex工程中去的。记得安装LCDS服务器,管方网站有下载,并提供了序列号。

废话少说,看步骤:

第一步:为了测试Flex对复杂类型List的支持,所以我写了一个方法用于返回元素类型为Student的List。先看Student类代码:package com.aptech.flex;

public class Student

{

private int sid;

private String sname;

public Student(int sid, String sname){

this.sid = sid;

this.sname = sname;

}

public Student(){

}

public int getSid(){

return this.sid;

}

public String getSname(){

return this.sname;

}

public void setSid(int sid){

this.sid = sid;

}

public void setSname(String sname){

this.sname = sname;

}

}

第二步:创建示意性的业务方法,返回List集合,习惯使用泛型,如果不用泛型应该也能处理。package com.aptech.flex;

import java.util.*;

public class HelloWorld

{

public String sayHello(String str){

return str + "你好";

}

public List strList(){

List list = new ArrayList();

list.add(new Student(1, "张三"));

list.add(new Student(2, "李四"));

list.add(new Student(3, "王八"));

return list;

}

}

第三步:修改/lcds/flex/remoting-config.xml配置文件,添加如下语句:

com.aptech.flex.HelloWorld

application

在该文件中,貌似不能写中文注释,启动容器时出现异常。

第四步:创建Flex工程,定义,内容如下:

这里的destination必须和第三步的一致。

第五步:定义一个按钮,并触发单击事件。

doJava事件定义如下:

internal functiondoJava(event: Event):void{

//hwro.sayHello("李赞红");

hwro.strList();

hwro.addEventListener(ResultEvent.RESULT, onCallback);

}

以下是结果处理方法:

private functiononCallback(event: ResultEvent):void{

varac: ArrayCollection = event.resultasArrayCollection;

vararr: Array = ac.toArray();

varstr: String ="";

for(varainarr){

str += arr[a].sid +","+ arr[a].sname +""n";

}

Alert.show(str);

}

Flex将Java类的List自动转换成了ArrayCollection类型,该示例中List元素类型为Student,则可以使用E.属性来访问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值