2009-04-03 19 views
1

私は、主にJavaサーブレット、JSP/Htmlページ、およびいくつかの通常のjavascriptで作成されるプロジェクトを持っています。しかし、JavaScriptだけでは複雑すぎる画面がいくつかありますので、GWTを使用したいと思っています。1つのプロジェクトで複数のGoogle Web Toolkitページを管理する

同じプロジェクトに複数のEntryPointクラスがあるので、これは可能ですか?次に、どのページがロードされているかに応じて、適切なjavascriptファイルをロードしますか?

おそらくRootPanel.get()機能は、特定のIDを持つ特定の<div>sが存在するかどうかをチェックするために使用されると考えていました。たとえば、signup divが存在する場合、「search」divが存在してからSearchをロードすると、サインアップGWTコントロールをロードしますが、javascriptファイルは非常に大きくなります。むしろそれぞれのコンポーネントは独自のjavascriptファイルであると思います。

これは可能ですか?

答えて

1

私はページを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%確かではありません。古いプロジェクトでは、空のエントリポイントを作成しなければなりませんでしたが、正確な理由は覚えていません。申し訳ございません。

私は確かに異なる意見を聞きたいと思います。

+0

私はそれらを別々のモジュールに保管したいと思いますが、どうしたらいいですか?私は1つのプロジェクトが1つのEntryPointクラスしか持たないと思ったのですか? 2つのモジュールを持つ方法のコードサンプルを表示することができれば、それは素晴らしいことになるでしょう。 –

+0

私は複数のモジュールで私の解決策を示すために元の投稿を編集しました。必要な支援者の説明が私に教えてくれれば。そしてもう一度 - 私はそれが最善のアプローチだと言っているわけではありません、私はまだ良く分かっていません。 – Konrad

1

は、私はこの正確な対象に行った5分間のライトニングトークです: http://www.youtube.com/watch?v=0DuR9xDvrHA&feature=channel_page

当然のことながら、あなたは5分に多くの情報を置くことができないので、うまくいけば、これが軌道に乗るために十分なあなたを与えるが、あなたならばしますさらに質問がありましたら、お気軽にお問い合わせください。

私はより多くのコードサンプルを利用可能にするつもりですが、私は時間を見つけられません。

関連する問題