私はページをGWTモジュールに分けるのが最善だろうと思います。 RootPanel.get()を使用して特定のスロット(DIVまたは他の要素)が存在するかどうかを確認する場合、モジュールはすべてのUIを保持するので、クライアントはモジュール全体をロードし、1ページしかアクセスしません。 すべてのページモジュールが継承するいくつかのモジュールに共通コードを配置することができます。
RootPanel.get()は、ウィジェットのセット(UI内の論理パネル、メニュー、メインコンテンツなど)をセットしてページ上の適切なスロットに配置する方が良いです。
- gwtui
-- common (module1)
--- client
---- widgets (eg. common widgets)
---- ...
---- ApplicationService.java
---- ApplicationServiceAsync.java
--- public
---- images (common images etc.)
---- css (common style)
---- ...
--- server
---- ...
---- ApplicationServiceImpl.java
--- GwtCommon.gwt.xml
-- expenses (module2)
--- client
---- ExpensesEntrypoint.java
--- public
--- server
--- GwtExpenses.gwt.xml (inherits GwtCommon, entry point ExpensesEntrypoint)
-- reports (module2)
--- client
---- ReportsEntrypoint.java
--- public
--- server
--- GwtReports.gwt.xml (inherits GwtCommon, entry point ReportsEntrypoint)
(注)すべてのモジュールで、一つのサービスを利用することができ、同様に共通モジュール内に作成する必要はありませんかもしれません:あなたのアプリで
例の構造は、(コメントでの質問を参照)のようになります。私は100%確かではありません。古いプロジェクトでは、空のエントリポイントを作成しなければなりませんでしたが、正確な理由は覚えていません。申し訳ございません。
私は確かに異なる意見を聞きたいと思います。
私はそれらを別々のモジュールに保管したいと思いますが、どうしたらいいですか?私は1つのプロジェクトが1つのEntryPointクラスしか持たないと思ったのですか? 2つのモジュールを持つ方法のコードサンプルを表示することができれば、それは素晴らしいことになるでしょう。 –
私は複数のモジュールで私の解決策を示すために元の投稿を編集しました。必要な支援者の説明が私に教えてくれれば。そしてもう一度 - 私はそれが最善のアプローチだと言っているわけではありません、私はまだ良く分かっていません。 – Konrad