2011-07-22

GWTで初期パラメーターを受け取る

GWTというのは実体はJavaScriptであり、その実行プロセスは
コンテナとなるHTMLファイルの呼び出し→JavaScriptファイルのロード→表示
という手順を踏む。ここで、呼び出し時の初期パラメーターの設定はできないのだろうか?HTMLファイルを呼び出すわけだから、そんなことは無理なのでは?実際、 EntryPointクラスのonModuleLoadでも初期パラメータを受け取るような引数はないし、、、、と諦めていましたが、どうやら出来るようです。その方法は、
  • Locationクラス
を利用することで解決します。Locationクラスには、幾つかのメソッドが存在しており
  • リクエストパラメータ
  • ホスト名
などコンテナの呼び出し情報を入手することができます。これを利用することで例えば、
http://~.com/xxxx.html?id=3
という呼び出し方をした場合にonLoadModule()内で
String id = Location.getParameter("id");
といった記述によりidを取ってくることができます。

これができて嬉しいのは、モジュール間の連携が容易になるということ。GWTはシステムが複雑になると肥大してきますので、適度にモジュールを区別するのが望ましい。しかし、モジュールを別にするとデータの連携にひと工夫必要になりどうしたものか、、、と悩んでいたわけです。これからこの方法を重宝しそうです。

0 件のコメント:

コメントを投稿