我正在迭代数据并为仪表板应用程序上的链接(到同一页面,但带有参数)生成参数化URL。但是,我这样做的方式需要在用户点击链接时刷新页面。
使用StringBuilder生成URL
Detailhtml.append("<a href=\"http://" + domain + "&service=" + count +"&day=" + day +"\"><img src=\"/info.jpg\" alt=\"Info\"/>");
有没有办法可以动态创建GWT按钮,或触发一些javascript来添加参数而不刷新页面?
任何帮助都会很棒......
答案 0 :(得分:5)
如果片段(#)之前的URL的任何部分发生更改,页面将刷新。因此,如果您从foo.com#a到foo.com/?bar=baz#a,将触发页面刷新。
解决这个问题的最好办法就是永远不要在片段之前改变任何东西。将foo.com/?bar=baz更改为foo.com/#bar=baz(或某些变体)并让您的GWT应用程序通过调用History.addHistoryListener(...)
来监听History更改。
然后,当您听到历史记录更改时,请解析网址中的片段并相应地更新您的应用。
像gwt-platform这样的库提供了这个功能的包装,让你描述当片段更新以匹配它们时会被触发的Place
。如果你最终用片段做了很多复杂的事情,那么调查一下这些地方是个好主意。但是,如果您只是传递一些参数,那么只需听取History
更改即可。