【问题标题】:gwt multi-page applicationgwt 多页应用
【发布时间】:2011-05-13 06:13:11
【问题描述】:

我有一个需要手动从一页切换到另一页的多页应用程序。它可以在 GWT 中完成吗,因为它是针对单页应用程序的。我正在从 Google 代码和在线论坛中学习,但找不到任何具有未通过公共入口点链接的多页面的应用程序。有什么想法吗?

【问题讨论】:

    标签: gwt


    【解决方案1】:

    GWT 通过 URL fragment identifier (FI) 支持应用程序内的“页面”,即http://www.yourhost.vom/main#pagename,其中“页面名称”是表示应用内“页面”的片段标识符。

    这个“页面”(请注意,浏览器永远不会真正重新加载页面,因此 GWT 应用程序保持不变),具有完整的历史记录支持并且可以添加书签。

    注意:整个 GWT 文档片段标识符有时被称为地点标记或历史标记。

    1. 通过向您的主机页面添加 iframe 来启用 history support:

      <iframe src="javascript:''" 
              id="__gwt_historyFrame" 
              style="width:0;height:0;border:0">
      </iframe>
      
    2. 注册一个 ValueChangeHandler 以在 FI(页面)更改时收到通知:History.addValueChangeHandler(..)。在此处理程序中,您可以放置​​一个显示新页面的逻辑。

    3. 通过调用History.newItem("newpage")(不带#)转到特定页面

    4. 您甚至可以通过将片段标识符划分为子部分来将“参数”传递给页面:例如“#edit/user4”。只需解析这个 FI,调用显示编辑页面的代码并将“user4”传递给它。您可以使用任何字符将 FI 分为“页面”部分和“参数”部分(我这里使用“/”)。要在现实生活中看到这一点:在 gmail 中打开一条消息并查看 URL。

    【讨论】:

    【解决方案2】:

    虽然您可以使用 GWT 切换页面,但生成的代码会很慢且不是最佳的,页面加载时间会更长。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多