たいしたことじゃないですが、GWT で URL パラメータを取得したくなりました。例えば、URL パラメータで渡されたキーを使ってデータストアからデータを取得したい場面とかで。
GWT は最終的に JavaScript コードにコンパイルされるので、取得する方法があると思っていたら、やっぱりありました。Window.Location クラスを使えば、URL パラメータを取得できます。
import com.google.appengine.api.datastore.Key; import com.google.appengine.api.datastore.KeyFactory; import com.google.gwt.core.client.EntryPoint; import com.google.gwt.user.client.Window; import com.google.gwt.user.client.ui.RootLayoutPanel; public class Main implements EntryPoint { public void onModuleLoad() { // URL パラメータを取得 String keyString = Window.Location.getParameter("key"); Key key = KeyFactory.stringToKey(keyString); // コンストラクタで渡してるけど、 // View の中で直接 URL パラメータを取得してもいい RootLayoutPanel.get().add(new MainView(key)); } }
Window.Location クラスからは、パスやホスト名、ポート番号なんかも取得できます。JavaScript で使う window.location と同じですね。ま、たいしたことじゃないですが。