如何在GWT中向URL添加参数?

3
我有一个Java/GWT应用程序,在其中有一份物品清单。如果我点击任何一个物品标题,那么该物品将以完整描述打开。
我正在使用Anchor作为物品标题,所以我的要求是当用户点击物品标题时,在URL中附加该物品的id到当前URL。
例如,这是我的URL: "http://127.0.0.1:8888/MyApp.html?gwt.codesvr=127.0.0.1:9997#listItem?list"
而我需要在URL末尾附加id,如下所示: "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 - Thomas Broyer
5个回答

2
使用Window.Location应该可以解决您的问题:请查看此处的文档 类似于这样:
String url = Window.Location.getHref();
url = url + "&itemId=" + itemId;
Window.Location.replace(url);

尽管Crollster指出,在#符号之前插入URL参数,但需要更详细地说明您到底在寻找什么(为什么必须手动添加参数,页面是否必须重新加载...)。

我认为这会重新加载页面...而我不想刷新页面... 我想要这个是因为我想知道我正在查看哪个项目...为了进一步的需求,我将从URL收集ID... - milind_db

1

你可以使用重定向命令来添加这个参数

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

然后您可以提取此变量。

我希望这会有所帮助。


我想在客户端完成这个操作...没有服务器调用,也没有刷新URL... :( - milind_db
@milind_ensarm,你可以使用JavaScript重定向 - Ofer

0

您可以尝试使用 JavaScript 编程。当用户单击链接时,获取此 URL 并将您的 ID 添加到其中并重构该 URL


0

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

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

HTH


-2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接