Ich habe eine Google Web Toolkit (GWT)-Anwendung und wenn ich einen Link zu ihm, ich möchte einige Argumente/Parameter übergeben, die es verwenden können, um dynamisch Daten abrufen. Z.B. wenn es eine Aktienchart-Anwendung wäre, würde ich wollen, dass mein Link das Symbol enthält und dann die GWT-Anwendung lesen, dass und eine Anforderung an einige Aktien-Service machen. Z.B.. http://myapp/gwt/StockChart?symbol=GOOG wäre der Link zu meiner StockChart-GWT-App, und sie würde eine Anfrage an meinen Aktieninformations-Webdienst für die GOOG-Aktie stellen.
Bisher habe ich den serverseitigen Code verwendet, um Javascript-Variablen zur Seite hinzuzufügen, und dann habe ich diese Variablen mit JSNI (JavaScript Native Interface) gelesen.
Zum Beispiel:
In der Host-HTML:
<script type="text/javascript">
var stockSymbol = '<%= request.getParameter("symbol") %>';
</script>
Im GWT-Code:
public static native String getSymbol() /*-{
return $wnd.stockSymbol;
}-*/;
(Obwohl dieser Code auf echtem, funktionierendem Code basiert, habe ich ihn für diese Frage modifiziert, so dass ich irgendwo gepatzt haben könnte)
Dies funktioniert jedoch nicht immer gut im gehosteten Modus (vor allem mit Arrays) und da JSNI in Version 1.4 und früher nicht vorhanden war, vermute ich, dass es einen anderen/besseren Weg gibt.