Paradigm Shift Design

ISHITOYA Kentaro's blog.

S2Flex2の導入,その2


の続き


あーもー!疲れた.

Error: Error #2030: ファイルの終端 (EOF) が検出されました。

とか

RangeError: Error #2006: 指定したインデックスが境界外です。

とか意味不明なエラーが出ていて,それがFlex側で起きているのかWebサービス側でおきているのか判別が付かず,色々悩んだ.


結局,Teedaと同じようにプロパティを全てpublicに作成していたのが原因だった.ちゃんとgetter/setterを定義したところ,エラーが無くなり問題なく動きました.



前回の導入方法にいくつか間違いがあったので訂正.


まずS2Flex2コンポーネントについて.僕はソースコードをプロジェクトに取り込むのだと思っていたけれど,ダウンロードしてきたs2flex2-componentsの

target/swc/s2flex2-components.swc

を自分のプロジェクトにコピーして,プロジェクト->プロパティ->Flexビルドパス->ライブラリパス->SWCの追加を行うか,パスの通った場所に置くかするのが正しい.
すると,ComponentのManifest.xmlを読んでくれるようになるので,s2接頭辞を

xmlns:s2="http://www.seasar.org/s2flex2/mxml"

とかけるようになる.


それから,Flex側の送受するコンポーネントのクラス定義には,

[RemoteClass(alias="com.semcode.stuvie.dto.Lectures")]

のように,Javaのクラスへのパスを記述しておくことが必要.


あとは,前述したように必ずgetter/setterが必要だということ.


あーすっきりした!