处理请求参数后GWT更改URL

时间:2009-09-24 12:48:37

标签: url gwt process parameters request

我想支持在我的GWT应用中链接url请求参数。实施例

http://host/app?action=A&p1=v1&p2=v2

我能够处理动作= A&其他参数,但一旦完成,我想更改URL以删除它们。

问题是,一旦用户进入网页,就完成了参数p1&的“动作”。 p2,他可以浏览网站,并返回同一页面进行相同的“动作”,但参数p1,p2的值不同。第二次,我真的不想处理p1和amp;的旧值。 P2

我检查了Window.Location.replace(),但它重新加载了页面,所有应用程序状态都丢失了。

有没有办法在没有params的情况下完全重新加载页面?也许通过“删除”查询参数?

任何其他更合理的方法来实现这一目标?

2 个答案:

答案 0 :(得分:3)

您是否尝试过History课程?您可以侦听ValueChangeEvent,在那里解析参数(url的格式会稍微改变但不应该是一个问题)然后你可以“清理”当前页面的url History.newItem("something/maybeNull")History.newItem("something/maybeNull", false),如果你想阻止 发射ValueChangeEvent事件。

答案 1 :(得分:0)

如果可以的话,每个Igro的建议就是你要走的路。如果您必须先处理服务器上的信息,然后才能向某人显示将要托管GWT的页面,那么您可以使用servlet或您使用的任何服务器端技术处理它们,并发送304以重定向用户到URL中没有get Params的页面。你也可以使用POST而不是GET,但这也很丑陋(取决于你究竟在做什么)。如果可能的话,一定要尝试使用历史系统。