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