GWTページでエンティティクラスを使用することについて、愚かな問題が多分あります。 GWTページにあるクラスを表示するには、このクラスをGWTクライアントアプリケーションのパッケージ内で定義する必要があります。例えば。 com.foo.clinetのGWTアプリケーションは、このパッケージとそのサブパッケージで定義されたクラスのみをコンポーネント(GWTグリッド、ラベルなど)に表示することができます。EJBからのエンティティを使用しているGWT
しかし、それらのエントリーを定義しました。典型的にはEJB(構造Webプロジェクト、ejbプロジェクトを想像してください)。あなたはRPCサービスを介してそれらのエントリーを受け取ることができますが、コンポーネントでこれらのエンティティを使用することはできません(このプロジェクトのjarファイルを追加するだけで助けになることはありません)。最初の可能性は、多かれ少なかれ同じ属性を持つ他の値オブジェクトに変換することですが、このWebプロジェクトで定義されています。しかし、これはエンティティを変更するときに、対応するビュー値オブジェクトを変更する必要があるため、決してうまくいかないコードの重複です。このようなことを自動的に行う方法は、いくつかのオプションがあります(たとえば、悲しいかなか遅い...)。
だから、問題は、いくつかの典型的なエレガントなソリューションやデザインパターンは、コードの重複なしでこれを解決する方法ですか?おかげでたくさんの
で
MyApp.gwt.xml
を更新どこその後、/MyApp/Web-module/a/b
に、私は私が持っているだろうInclusion.gwt.xmlをadddedそれを見て – glu私は見ましたが、これが私に合っているかわかりません。私の問題は、私のような構造があることです:/MyApp/Ejb-module/x/y/z/MyClass.java、/MyApp/Web-module/a/b/MyApp.gwt.xmlと私は単にsrcをインクルードしたいGWTコンパイラの/ MyApp/Ejb-module/x/y/zからのファイル。もし私がうまくスーパーソーシングを理解していれば。/MyApp/Web-module/a/bの下に任意の名前でフォルダを作成し、x/y/z/MyClass.javaファイルを置き、MyApp.gwt.xmlにスーパーソースタグを使用する必要があります。しかし、私はMyClass.javaを移動したくありません。私は相対パスを指定することができますいくつかの感謝を想像してIm。例えば。 ../../../../Ejb-module/x/y/z/MyClass.java – glu