http://www.iteye.com/topic/238127?page=1
已经在早前就听说了,Adobe公司的开源项目bazeds,可是当时做flash,用到了openamf,所以没有在意,但是现在觉得flex开发应用软件更具有杀伤力,所以准备研究flex。折腾了一周的时间想做个flex+java的helloworld例子,可是怎么都运行不出来,今天终于运行出来了。
总结,共有一下几种方法:
1,flex项目和web项目在同一项目。
2,flex项目和web项目为两个项目,进行交互。
个人认为,第二种比较好,这样可以完全将flex卡发和web业务开发分开。我这里也介绍第二种方法。
下面介绍我的hello小程序。
首先,开发环境
1,eclipse3.2+myeclipse5.1,不多说
2,eclipse的flex插件:FB3_WWEJ_Plugin.exe
3,必须得到blazeds.war,网上很多,可以进行下载(附件中配备)
下来,演示例子。
1,创建web项目:
我的项目是hello
2,将blazeds.war放入tomcat中,启动,将blazeds.war项目中的,WebConten/Web-Inf复制
3,替换hello项目(用刚才复制的将此项目(hello)中的替换)
4,在web项目中建立java类
Java代码
package com.demo;
public class HelloWorld {
public String sayHello(String name) {
System.out.println(name);
return"hello," + name;
}
}
5,在刚才复制的flex目录下打开remoting-config.xml,写入一下代码
Xml代码
<destination id="Hello">
<properties>
<source>com.demo.HelloWorld</source>
</properties>
</destination>
6,发布此项目。
以上是web项目中的内容,下来看看flex项目
1,创建flex项目,flexTest,application type 选择 web application, server technology 选择none,点next,output folder 中选择你上面建立web工程的目录(这里就是hello),很多地方都说选择j2ee,这个是建立集成项目时候选择的。
2,写入mxml
Html代码
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script >
<![CDATA[ import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
[Bindable]
private var helloResult:String;
private function sayHello():void {
ro.sayHello(inputText.text);
}
private function resultHandler(event:ResultEvent):void {
helloResult = event.result as String;
}
]]>
</mx:Script >
<mx:RemoteObject id="ro" destination="Hello" result="resultHandler(event)" endpoint="/Hello/messagebroker/amf"/>
<mx:HBox x="0" y="10" width="100%">
<mx:Label text="Name:" id="nameLabel"/>
<mx:TextInput id="inputText"/>
<mx:Button label="say Hello" id="nameButton" click="sayHello()"/>
<mx:Label id="resultLabel" text="{helloResult}"/>
</mx:HBox>
</mx:Application>
3,最重要的endpoint="/Hello/messagebroker/amf"/,这个一定要写对,别把我的文件复制过去,hello是你自己的web项目。
这样就完成了,你启动tomcat,自己测试,这样做的好处是,flex保存后,web项目会自动同步flex内容。
讲得不清楚,我会带上一个项目的附件,提供下载。