我有一个多页面应用程序,需要手动从一个页面切换到另一个页面.它可以在GWT中完成,因为它针对的是单页面应用程序.我正在从Google代码和在线论坛中学习,但找不到任何具有多页的应用程序,这些应用程序没有通过共同的入口点链接.有任何想法吗?
GWT通过URL 片段标识符(FI)支持应用程序http://www.yourhost.vom/main#pagename中的"页面" ,即"pagename"是表示应用程序中"页面"的片段标识符.
这个"页面"(注意浏览器从未真正重新加载页面,因此GWT应用程序保持不变),具有完整的历史记录支持并且可收藏.
注意:在整个GWT文档中,片段标识符有时也称为场所标记或历史标记.
通过向主页添加iframe来启用历史记录支持:
<iframe src="javascript:''"
id="__gwt_historyFrame"
style="width:0;height:0;border:0">
</iframe>
Run Code Online (Sandbox Code Playgroud)注册一个ValueChangeHandler,以便在FI(页面)更改时收到通知:History.addValueChangeHandler(..).在此处理程序中,您放置一个显示新页面的逻辑.
通过调用History.newItem("newpage")(不带#)转到特定页面
您甚至可以通过将片段标识符分成子部分来将"参数"传递给页面:例如"#edit/user4".只需解析此FI,调用显示编辑页面的代码并将"user4"传递给它.您可以使用任何字符将FI分成"页面"部分和"参数"部分(我在这里使用"/").要在现实生活中看到这一点:在Gmail中打开一条消息并查看URL.