2009-07-15 10 views
1

fragte ich eine ähnliche Frage hereerstellen URL-Parameter in GWT

Wie schreibe ich programmatisch Parameter in die URL GWT verwenden? Ich habe aus meiner vorherigen Frage gelernt, dass Parameter vor dem Anker gehen müssen, aber wie mache ich das von GWT?

Hier ist der Code, der nicht funktioniert:

Hyperlink pg1 = new Hyperlink("Test", "?testing=abc#pg1"); 

Es ist in der folgenden URL-Ergebnisse:

http://localhost:8080/Athena.html#?testing=abc%23pg1 

ich über die Verwendung von Window.Location.assign dachte(), aber die javadoc sagt, dass der Zustand meiner Bewerbung verlieren wird.

Antwort

3

Das Objekt HyperLink scheint für die Verknüpfung mit internen Zuständen zu sein, und wurde wahrscheinlich geschrieben, so dass die Änderung seiner href schwierig ist?

Ich schlage vor, Sie verwenden stattdessen diese Klasse http://google-web-toolkit.googlecode.com/svn/javadoc/1.5/com/google/gwt/user/client/ui/InlineHTML.html - offensichtlich generieren Sie die href programmatisch, so dass es einfach sein sollte, das Element zu generieren, um das InlineHTML-Objekt zu liefern.

+0

Das funktioniert, ich wünschte nur, es gäbe einen einfachen eingebauten Weg, um die Parameter einzustellen, genau wie es ist, um sie zu bekommen. – KevMo

+0

@KevMo - funktioniert das ohne Seitenaktualisierung ??? – tpow

+0

Ich habe es aufgegeben, Parameter mit Standard-URL-Parametern zu übergeben. GWT funktioniert viel besser, wenn Sie nur ihren Wegen nachgeben;) Ich verwende das folgende in meiner Anwendung jetzt: http://website.com/page.html#view~testing:abc,foo:bar Ich habe dann eine Funktion, die alles nach dem Hash-Tag liest und die Parameter in eine Map zur einfachen Verwendung innerhalb meines Codes legt. – KevMo

1

Sie verwenden this constructor, die ein history-Token als zweites Konstruktorargument erhält, daher erhalten Sie das Ergebnis.

Verwenden Sie die setHTML() method, um den korrekten Wert für die Verbindung festzulegen.

+0

Können Sie Beispiele angeben? Ich habe SetHTML (" test") ohne Glück versucht. – KevMo