我是一个java开发的,初次接触flex ,主要就是想研究一下flex怎么调用java。刚整通了
一个,下面总结一下:
我使用的是myeclipse6.0.1、flex builder3.0
1、创建flex项目:file -> new -> flex project 如下图
Application type 中选 第一个 web application,
Server technology 中选择 j2ee, 勾选user remote object access service (否则无法调用java)
2、点 next 按钮 ,下一界面:
J2ee settings 中 选择一个tomcat服务器,并设定上下文路径,然后指定flex war file文件blazeds.war的路径,(其作用是用来实现java和flex间的通信)
Compilation options编译方式中选择 第一个可以节省服务器的开销。
3、点next 如图,然后点finish。
4、在项目上右键 myeclipse -> add web project capabilities
Ok 项目已经建好,现在做个flex 访问java的例子。
在MyFlex.mxml中添加:
<mx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent;
private function say():void{
var str:String = input.text;
hlo.sayHello(str);
}
private function show(event:ResultEvent):void{
output.data = event.result.toString();
}
]]>
</mx:Script>
<!--
<mx:RemoteObject destination="Hello" id="hlo"
endpoint="http://localhost:8080/FlexTest/messagebroker/amf"
result="show(event)"
/>-->
<mx:RemoteObject destination="Hello" id="hlo"
endpoint="http://localhost:8080/FlexText/messagebroker/amf">
<mx:method name="sayHello" result="show(event)"/>
</mx:RemoteObject>
<mx:Panel title="调用java" width="415" height="278">
<mx:FormItem label="输入:">
<mx:TextInput id="input" />
</mx:FormItem>
<mx:FormItem>
<mx:Button label="调用" click="say()"/>
</mx:FormItem>
<mx:FormItem label="输出为:" height="79">
<mx:TextArea id="output" width="262" height="78">
</mx:TextArea>
</mx:FormItem>
</mx:Panel>
5、创建java文件
package com.test;
public class Hello {
/**
*
* @param name
* @return
*/
public String sayHello(String name){
System.out.println(name+" say hello!");
return name+" say hello!";
}
}
6、配置remote-config.xml文件,添加:
<destination id="Hello">
<properties>
<source>com.test.Hello</source>
</properties>
</destination>
7、通过tomcat发布项目
8、在myflex.mxml文件上右键,run as -> flex application :
输入aaaa点调用 如下:
Ok 成功~!