在 GWT 中创建 URL 参数

Posted

技术标签:

【中文标题】在 GWT 中创建 URL 参数【英文标题】:Create URL Parameters in GWT 【发布时间】:2010-11-11 01:55:05 【问题描述】:

我问了一个相关问题here

如何使用 GWT 以编程方式将参数写入 URL?我从之前的问题中了解到,参数需要放在锚点之前,但是我该如何从 GWT 中做到这一点?

这是不起作用的代码:

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

结果如下:

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

我正在考虑使用 Window.Location.assign(),但 javadoc 说这会丢失我的应用程序的状态。

【问题讨论】:

【参考方案1】:

对象 HyperLink 似乎是用于链接到内部状态,并且可能是这样编写的,因此很难更改其 href?

我建议您改用此类 http://google-web-toolkit.googlecode.com/svn/javadoc/1.5/com/google/gwt/user/client/ui/InlineHTML.html - 显然您正在以编程方式生成 href,因此生成提供给 InlineHTML 对象的元素应该很容易。

【讨论】:

那行得通,我只是希望有一些简单的内置方法来设置参数,就像获取它们一样。 我已经放弃尝试使用标准 url 参数传递参数。当你屈服于他们的方式时,GWT 工作得更好;)我现在在我的应用程序中使用以下内容:website.com/page.html#view~testing:abc,foo:bar 然后我有一个函数可以读取哈希标记之后的所有内容,并将参数放入 Map 中以方便使用在我的代码中使用。【参考方案2】:

您正在使用this constructor,它接收一个历史令牌作为第二个构造函数参数,因此您得到了上述结果。

使用setHTML() method 在链接上设置正确的值。

【讨论】:

你能提供任何例子吗?我试过 setHTML(" test ") 没有任何运气。

以上是关于在 GWT 中创建 URL 参数的主要内容,如果未能解决你的问题,请参考以下文章

删除 GWT 中的 URL 参数

如何在 gwt 中创建时区对象?

如何在 Javascript 中创建查询参数?

如何将 URL 参数从 GWT 客户端发送到服务器端进行验证

使用 url_for() 在 Flask 中创建动态 URL

在 GWT 中创建多个 HTML 页面