0

Gilead を GXT と休止状態に統合する最良の方法を理解したいと思っていました。この記事http://code.google.com/webtoolkit/articles/using_gwt_with_hibernate.htmlでは、GWT での Gilead の使用法について説明しています。

ほとんどの GXT コンポーネントは、BaseModelData を継承するカスタム クラスを使用してバインドされます。これは、GXT コンポーネントにバインドする前に、永続化された Bean (LightEntity Bean) を BaseModelData を拡張するカスタム クラスに変換する必要があることを意味します。私の理解は正しいですか?はいの場合、これを行うことで得られる利点は何ですか?ドーザー/ハンドコード変換をもう一度使用する必要がありますか?

ギリアドのサイトの例は哀れです。ギリアドと休止状態で GXT を使用する完全な例が存在するリンクを誰でも提供できますか?

ありがとう

4

2 に答える 2

1

DAOにBaseModelDataを実装させる必要はありません。

あなたがしなければならないことは、あなたがあなたのGWTクライアントパッケージでインターフェースを作成するDAOクラスごとにです。BeanModelMarkerを拡張し、@BEANアノテーションを使用する必要があります。これは、DAOをBeanModelとして使用できることをEXTGWTに通知します

package org.gwtapp.client.model;

import com.extjs.gxt.ui.client.data.BeanModelMarker;
import com.extjs.gxt.ui.client.data.BeanModelMarker.BEAN;

@BEAN(org.vnsny.domain.MyClass.class)
public interface MyClassBeanModel extends BeanModelMarker {

}

次に、クラスからBeanModelを作成する必要がある場合は、BeanModelFactoryを使用します。

BeanModel model = BeanModelLookup.get().getFactory(
                MyClass.class).createModel(myClassObj);
于 2010-07-30T19:36:49.133 に答える
1

また、データ コンポーネントを使用し、サブクラス インスタンスを持つスーパークラスとして型指定されたコレクションを取得する場合は、この設定を Bean リーダーに追加する必要があります。

                    reader.setFactoryForEachBean(true);

各 Bean にファクトリを設定しない場合、リーダーはすべてのオブジェクトをコレクションの最初のインスタンスのクラスとしてキャストしようとします。

例: スーパー クラス = 動物 サブクラス = 犬、猫

リモート メソッドでは、Animal: List のリストを返し、各クラスの Bean モデル インターフェイスを作成します。

于 2011-04-15T15:33:45.097 に答える