我有一个Google Web Toolkit(GWT)应用程序,当我链接到它时,我想传递一些可用于动态检索数据的参数/参数.例如,如果它是股票图表应用程序,我希望我的链接包含符号,然后让GWT应用程序读取并向某些股票服务发出请求.例如http:// myapp/gwt/StockChart?symbol = GOOG将是我的StockChart GWT应用程序的链接,它会向我的股票信息网站服务请求GOOG股票.
到目前为止,我一直在使用服务器端代码将Javascript变量添加到页面,然后我使用JSNI(JavaScript Native Interface)读取这些变量.
例如:
在主机HTML中:
在GWT代码中:
public static native String getSymbol() /*-{ return $wnd.stockSymbol; }-*/;
(虽然这段代码是基于可行的实际代码,但我已经针对这个问题对其进行了修改,所以我可能会在某个地方搞砸了)
但是,这在托管模式下并不总是有效(特别是对于数组),并且由于JSNI在版本1.4和之前的版本中并不存在,我猜测还有另一种/更好的方法.
如果要从请求中读取查询字符串参数,可以使用com.google.gwt.user.client.Window类:
// returns whole query string public static String getQueryString() { return Window.Location.getQueryString(); } // returns specific parameter public static String getQueryString(String name) { return Window.Location.getParameter(name); }