Frage

Ich habe eine Google Web Toolkit (GWT) Anwendung und wenn ich darauf verweisen, möchte ich einige Argumente zu übergeben / Parameter, die dynamisch Daten abrufen können zu. Z.B. wenn es sich um ein Lager Chart-Anwendung wäre, würde ich meine Verbindung wollen, das Symbol zu enthalten und dann die GWT app das gelesen haben und einen Antrag zu einem gewissen Vorrat Service. Z.B. http: // myapp / gwt / StockChart symbol = GOOG der Link zu meinem StockChart wäre GWT? App und es würde eine Anfrage an meine Lager Info Web-Service für die GOOG Aktien machen.

Bisher habe ich den serverseitigen Code unter Verwendung von Javascript-Variablen zu der Seite hinzufügen und dann habe ich diese Variablen mit JSNI (JavaScript Native Interface) lesen.

Zum Beispiel:

In dem Host-HTML:

<script type="text/javascript">
  var stockSymbol = '<%= request.getParameter("symbol") %>';
</script>   

In dem GWT-Code:

public static native String getSymbol() /*-{
    return $wnd.stockSymbol;
}-*/;

(Obwohl dieser Code auf realen Code basiert, das funktioniert, habe ich es für diese Frage geändert, so könnte ich irgendwo gepatzt haben)

Allerdings ist diese Arbeit auch nicht immer in Host-Modus (vor allem bei Arrays) und seit JSNI nicht um in Version war 1.4 und frühere, ich vermute, es ist ein anderer / besserer Weg.

War es hilfreich?

Lösung

Wenn Sie wollen Query-String-Parameter aus der Anfrage lesen können Sie die verwenden com.google.gwt.user.client.Window Klasse:

// 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);
}   

Andere Tipps

Es ist auch eine nette Option zu ‚Parametrieren‘ eine GWT-Anwendung unter Verwendung von Hash-Werten.

Also, statt

 http://myapp/gwt/StockChart?symbol=GOOG

Verwendung

 http://myapp/gwt/StockChart#symbol=GOOG

Es gibt einige nette Werkzeug Unterstützung für solche ‚parameters‘ durch GWT Geschichte Mechanism .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top