GWT在处理请求参数后更改URL

GWT在处理请求参数后更改URL,url,gwt,process,parameters,request,Url,Gwt,Process,Parameters,Request,我想支持在我的GWT应用程序中链接url请求参数。范例 我可以处理action=A&其他参数,但一旦处理完,我想更改URL以删除它们 问题是,一旦用户来到网页,为了完成参数p1和p2的“操作”,他可能会浏览该网站,并返回到同一页面进行相同的“操作”,但参数p1和p2的值不同。第二次,我真的不想处理p1和p2的旧值 我检查了Window.Location.replace(),但它会重新加载页面,并且所有应用程序状态都会丢失 有没有一种方法可以在没有参数的情况下完全重新加载页面?也许是通过“删除”

我想支持在我的GWT应用程序中链接url请求参数。范例

我可以处理action=A&其他参数,但一旦处理完,我想更改URL以删除它们

问题是,一旦用户来到网页,为了完成参数p1和p2的“操作”,他可能会浏览该网站,并返回到同一页面进行相同的“操作”,但参数p1和p2的值不同。第二次,我真的不想处理p1和p2的旧值

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

有没有一种方法可以在没有参数的情况下完全重新加载页面?也许是通过“删除”查询参数

还有其他更明智的方法吗?

你试过这门课吗?您可以监听
valuechangeent
s,解析其中的参数(url的格式会有一点变化,但这不应该是问题),然后可以使用
History.newItem(“something/maybeNull”)
History.newItem(“something/maybeNull”,false)来“清理”当前页面的url
如果要防止
ValueChangeEvent
触发事件。

如果可以,按照Igro的建议进行历史记录是一种方法。如果您必须在向某人显示将要承载GWT的页面之前处理服务器上的信息,那么您可以使用servlet或您正在使用的任何服务器端技术处理这些信息,并发送304以将用户重定向到URL中没有get参数的页面。你也可以用POST代替GET,但这也有点难看(取决于你到底在做什么)。如果可能的话,一定要尝试使用历史记录系统。

当我完成键入时,我看到了一种可能的方法。跟踪是否在应用程序状态下处理了请求,然后在后续时间不再处理该请求。但我想url仍然会保留。