我有一个 Google Web Toolkit (GWT) 应用程序,当我链接到它时,我想传递一些可用于动态检索数据的参数/参数。例如,如果它是一个股票图表应用程序,我希望我的链接包含该符号,然后让 GWT 应用程序读取它并向某些股票服务发出请求。例如,http://myapp/gwt/StockChart?symbol=GOOG将是我的 StockChart GWT 应用程序的链接,它会向我的股票信息 Web 服务请求 GOOG 股票。
到目前为止,我一直在使用服务器端代码向页面添加 Javascript 变量,然后我使用 JSNI(JavaScript Native Interface)读取了这些变量。
例如:
在主机 HTML 中:
<script type="text/javascript">
var stockSymbol = '<%= request.getParameter("symbol") %>';
</script>
在 GWT 代码中:
public static native String getSymbol() /*-{
return $wnd.stockSymbol;
}-*/;
(尽管此代码基于有效的真实代码,但我已针对此问题对其进行了修改,因此我可能在某处犯了错误)
但是,这在托管模式下并不总是有效(尤其是数组),并且由于 JSNI 在 1.4 版和之前的版本中不存在,我猜还有另一种/更好的方法。