GWTでマルチモジュールアプリケーションを作成することは可能ですか?つまり、2つのモジュールを作成します。1つはフロントエンドWebサイト用で、もう1つはフロントエンドWebサイトを管理する管理者管理用です。私のアプローチを理解していただければ幸いです:)
2 に答える
可能ですが、いくつかの場所 (rename-to 属性、エントリポイント クラス名、script-src、コンパイラ引数) でデフォルトのプロジェクト レイアウトを変更する必要があるため、自明ではありません。ですから、これは有効な質問だと思います。
2 つの Web ページ間でコードを共有したいので、これを行いたいと思います。これを実現するにはいくつかの方法がありますが、最も簡単なのはおそらく次の方法です。
1 つのプロジェクト、2 つの URL
2 つのモジュール xml ファイルと 2 つの html ファイルが必要です。
FrontEnd.gwt.xml:
<?xml version="1.0" encoding="UTF-8"?>
<module rename-to='frontend'>
<inherits .../>
<entry-point class='org.example.FrontEndEntry'/>
...
</module>
Admin.gwt.xml:
<?xml version="1.0" encoding="UTF-8"?>
<module rename-to='admin'>
<inherits .../>
<entry-point class='org.example.AdminEntry'/>
...
</module>
FrontEnd.html
<!doctype html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
...
<script type="text/javascript" language="javascript"
src="frontend/frontend.nocache.js"></script>
</head>
...
</html>
Admin.html
<!doctype html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
...
<script type="text/javascript" language="javascript"
src="admin/admin.nocache.js"></script>
</head>
...
</html>
次に、GWT アプリをコンパイルするときに、両方のモジュールをコマンド ラインの最後に追加します (または、Eclipse などの IDE では、コンパイル時に両方を選択します)。起動構成についても同じです。
モジュールは、sample/sample.nocache.js という名前の JavaScript ファイルとしてロードされます。URLに基づいて、またはユーザーがログインしている場合、サーブレットに異なるjsファイル(モジュール)を含む異なるhtmlファイルを提供させることができます。各モジュールを個別にコンパイルする必要があります。
これに関する Google リソース: Dynamic Host Page、Organizing Modules
同じページに複数のモジュールを含めることもできますが、ロードされる順序がわからないため注意してください。