【问题标题】:How to add a parameter to a URL in GWT?如何将参数添加到 GWT 中的 URL?
【发布时间】:2012-06-05 06:38:32
【问题描述】:

我有一个 Java/GWT 应用程序。其中有一个项目列表。如果我单击任何项​​目标题,则会打开该项目并显示完整描述。

我使用 Anchor 作为项目标题,所以我想要的是当用户点击项目标题时,然后在 URL 中将该项目的 id 附加到当前 URL。

例如,这是我的网址:

"http://127.0.0.1:8888/MyApp.html?gwt.codesvr=127.0.0.1:9997#listItem?list"

我必须将 id 附加到 URL 的末尾,例如:

“http://127.0.0.1:8888/MyApp.html?gwt.codesvr=127.0.0.1:9997#listItem?list&itemId=55

【问题讨论】:

  • 您可能应该使用com.google.gwt.user.client.History,并将您的Anchor 替换为Hyperlink

标签: java url gwt anchor


【解决方案1】:

使用 Window.Location 应该可以解决问题:see the doc here

类似这样的:

String url = Window.Location.getHref();
url = url + "&itemId=" + itemId;
Window.Location.replace(url);

当然,正如 Crollster 指出的那样,您应该在 # 符号之前插入您的 url 参数。详细说明您要查找的内容(为什么必须手动添加参数,页面是否必须重新加载...)

【讨论】:

  • 我认为这会重新加载页面......我不想刷新页面......我想要这个,因为我想知道我正在查看哪个项目......以及进一步需要我会从 url 收集 Id...
【解决方案2】:

您可以使用重定向命令来添加此参数

response.sendRedirect(your url + itemId=55);

然后你可以提取这个变量。

我希望这会有所帮助。

【讨论】:

  • 我想在客户端执行此操作...没有服务器调用或没有刷新 url... :(
  • @milind_ensarm 所以你可以使用java script redirect
【解决方案3】:

您可以尝试使用javascript 编码。当用户单击链接时,获取此URL 并将您的ID 附加到它并重建URL

【讨论】:

    【解决方案4】:

    您在 URL 中看到 # 了吗?那是一个锚点 - 您需要在之前添加您的参数,所以它看起来像这样:

    http://127.0.0.1:8888/MyApp.html?gwt.codesvr=127.0.0.1:9997&itemId=55#listItem?list
    

    HTH

    【讨论】:

      【解决方案5】:

      URIBuilder 的 Apache HttpComponents 提供了一种方便的方法来添加参数,并将处理现有的查询参数和锚点。

      【讨论】:

        猜你喜欢
        • 2020-03-10
        • 2012-01-23
        • 1970-01-01
        • 2020-06-10
        • 1970-01-01
        • 1970-01-01
        • 2015-04-24
        • 2015-06-20
        • 1970-01-01
        相关资源
        最近更新 更多