flexはjavaと一緒に開発します.
6634 ワード
まず最新のBlazecDSをダウンロードします.
http://opensource.adobe.com/blazeds/
最新のBlazDSは住所をダウンロードします.
http://opensource.adobe.com/wiki/display/blazeds/Release+Build
これからflexを使ってjavaを持つウェブプロジェクトを作ります.
プロジェクトを作成
ダウンロードしたのはwarファイルです.解凍しなくてもいいです.これはプロジェクトを作る時に使います.
flexのプロジェクトを作成します. J 2 EEを選択します..
flexを設定してファイルディレクトリを作成します.私は直接WebContent/flextに修正します.webフォルダの下
flexをコンパイルしてこの場所に置いてください.コピーしなくてもいいです.
flexソースファイルディレクトリを設定します.
このようにコンパイルしたflexはWebContentの下のflex_に置きます.webフォルダです
コンパイルしたjavaはWEB-INF/clasesフォルダの下に置いてあります.
そしてwarの中のlibも一緒にコピーしました.
そしてtomcat.6.0を起動します.
訪問することができます
リモートコールを実行します.
flex開発の宝典の例を引用します.
ダウンロードアドレス:
http://as.wiley.com/WileyCDA/WileyTitle/productCd-0470287640descCd-DOWNLOAD.filter=DOWNLOAD
第chapter 24のソースフォルダ.
プロファイルの編集を変更します.プロジェクトのプロパティを選択します.
ソースファイルを追加..
そして変更
remoting-config.xml
追加
<destination id="helloClass">
<properties>
<source>flex3Bible.ROService</source>
<scope>application</scope>
</properties>
</destination>
リモートアクセスのクラスを追加します.
クラスは普通のpojo類です.
public class ROService {
public ROService() {
System.out.println(" .");
}
public String helloWorld() {
System.out.println(" .");
return "Hello from the world of Java";
}
...
flexコールコード:<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
backgroundColor="#EEEEEE">
<mx:Script>
<![CDATA[
import mx.rpc.remoting.mxml.Operation;
private function callIt():void
{
var op:Operation = roHello.getOperation("helloWorld") as Operation;
op.send();
}
]]>
</mx:Script>
<mx:RemoteObject id="roHello" destination="helloClass"/>
<mx:Label text="Hello from BlazeDS!" fontSize="14" fontWeight="bold"/>
<mx:Button label="Click to say hello" click="callIt()"/>
<mx:Label text="{roHello.helloWorld.lastResult}"
fontSize="14" fontWeight="bold"/>
</mx:Application>
そしてtomcatアドレスにアクセスします.
http://127.0.0.1:8080/chapter24_test/flex_web/CallOperation.
呼び出しが成功していないことが分かりました.debugエラー情報をイジェクトしました.
エラー情報から明らかな発見はサービスにアクセスできないことです.
'http://127.0.0.1:8080/WebContent/messagebroker/amf''
私のtomcatパスはこれではありません.WebContectはフォルダの名前です.
最後に問題を見つけます
プロジェクトのプロパティのserveプロファイルを変更します.
設定ファイルを変更しました.flexファイルを再編集します.
この設定ファイルはflexで作成したファイルと関係があるかどうか分かりません.
ページにアクセスして呼び出すことができます.
Javaのサービスから呼び出したと表示されます.
まとめ:
ツールの配置が生成され.多くのことをしました.残りは.remoting-config.xmlに自分のjavaクラスを追加して.flexの中で呼び出します.
<mx:RemoteObject id=「roHello」destination=「hello Class」を呼び出してください.
これで通信できます.工事の中にはいくつかの例があります.大同小異.