【发布时间】:2009-11-18 18:31:27
【问题描述】:
我有一个关于管理多页 GWT 网站的问题。现在我只有一个 html 页面,我在其中嵌入了许多 div 来存储我使用的小部件。然后,根据用户的操作,我使用 GWTs DOM 类添加或删除必要的 div。因此,我只使用一个html页面来模拟多个页面。有一个更好的方法吗?
谢谢。
【问题讨论】:
标签: java gwt client-side
我有一个关于管理多页 GWT 网站的问题。现在我只有一个 html 页面,我在其中嵌入了许多 div 来存储我使用的小部件。然后,根据用户的操作,我使用 GWTs DOM 类添加或删除必要的 div。因此,我只使用一个html页面来模拟多个页面。有一个更好的方法吗?
谢谢。
【问题讨论】:
标签: java gwt client-side
我不同意克莱图斯。根据我的经验,gwt 在增强多页应用程序方面与在 gmail 等单页应用程序方面一样出色。这仅取决于您对 Web 应用程序的要求。
我同意编写单页应用程序绝对是开始的地方,但是一旦您了解了 gwt 模块的概念,就可以轻松地使用它们将自定义 javascript 添加到多个页面。
回答您的问题;我认为您使用一页并换出小部件的设计是完全可以接受的。
这些谈话可能有助于让您了解多页面应用何时有意义:
【讨论】:
GWT 主要用于单页应用程序。这是有充分理由的。每次使用如此多的 Javascript 进行页面转换时,您都会受到打击。页面加载时间非常明显。想想 goign 到 GMail。您有 1-5 秒的时间来加载它。现在,如果每次用户转到新页面时都发生这种情况并且这种情况经常发生,那么您的用户体验会如何?
您也不需要将每个小部件都放在页面上。您可以根据需要动态创建和添加(或删除)小部件。这与您通常创建以 HTML 为中心的传统多页网站的方式有些不同。
【讨论】:
我发现使用 GWT DeckPanel 很有用。甲板面板就像一副纸牌,其中每张“卡片”都是一个 GWT 面板。您可以将这些“卡片”面板视为页面,并在启动时初始化并使用小部件填充它们。然后,您可以通过将“卡片”面板放在卡片组前面以便用户可以看到它来响应用户导航操作。
这种方法最适合作为 MVC(模型-视图-控制器)或 MVP(模型-视图-展示器)设计模式的一部分。
【讨论】:
为了实现这样的事情,你应该有历史管理——比如Gmail,它可以使用后退/前进。是通过anchors实现的,this class
【讨论】: