【问题标题】:Achieving multipage GWT website实现多页GWT网站
【发布时间】:2009-11-18 18:31:27
【问题描述】:

我有一个关于管理多页 GWT 网站的问题。现在我只有一个 html 页面,我在其中嵌入了许多 div 来存储我使用的小部件。然后,根据用户的操作,我使用 GWTs DOM 类添加或删除必要的 div。因此,我只使用一个html页面来模拟多个页面。有一个更好的方法吗?

谢谢。

【问题讨论】:

    标签: java gwt client-side


    【解决方案1】:

    我不同意克莱图斯。根据我的经验,gwt 在增强多页应用程序方面与在 gmail 等单页应用程序方面一样出色。这仅取决于您对 Web 应用程序的要求。

    我同意编写单页应用程序绝对是开始的地方,但是一旦您了解了 gwt 模块的概念,就可以轻松地使用它们将自定义 javascript 添加到多个页面。

    回答您的问题;我认为您使用一页并换出小部件的设计是完全可以接受的。

    这些谈话可能有助于让您了解多页面应用何时有意义:

    【讨论】:

      【解决方案2】:

      GWT 主要用于单页应用程序。这是有充分理由的。每次使用如此多的 Javascript 进行页面转换时,您都会受到打击。页面加载时间非常明显。想想 goign 到 GMail。您有 1-5 秒的时间来加载它。现在,如果每次用户转到新页面时都发生这种情况并且这种情况经常发生,那么您的用户体验会如何?

      您也不需要将每个小部件都放在页面上。您可以根据需要动态创建和添加(或删除)小部件。这与您通常创建以 HTML 为中心的传统多页网站的方式有些不同。

      【讨论】:

      • 谢谢您的澄清。这几乎就是我所做的。但是我想知道是否有更好的选择(如设计模式)将 GWT 用于多页 Web 应用程序。
      【解决方案3】:

      我发现使用 GWT DeckPanel 很有用。甲板面板就像一副纸牌,其中每张“卡片”都是一个 GWT 面板。您可以将这些“卡片”面板视为页面,并在启动时初始化并使用小部件填充它们。然后,您可以通过将“卡片”面板放在卡片组前面以便用户可以看到它来响应用户导航操作。

      这种方法最适合作为 MVC(模型-视图-控制器)或 MVP(模型-视图-展示器)设计模式的一部分。

      【讨论】:

        【解决方案4】:

        为了实现这样的事情,你应该有历史管理——比如Gmail,它可以使用后退/前进。是通过anchors实现的,this class

        【讨论】:

          【解决方案5】:

          除了好的 DeckPanel 和 History 建议之外,我还要补充一点,您可以让 GWT 将您的应用程序拆分为多个 JS 文件,这些文件根据需要使用runAsync 动态加载。这让您有一个非常快速的初始页面加载,并在用户需要时加载新的“页面”。

          LazyPanel.createWidget() 是粘贴 runAsync 调用的方便位置,该调用可与 DeckPanel 或 TabPanel 结合以动态加载内容和 UI 代码。用于导航的控制器/演示者甚至更好(尽管有时程序员需要做更多的工作)。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2011-11-29
            • 1970-01-01
            • 1970-01-01
            • 2015-06-07
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多