2011-09-01 51 views
0

我在一个GWT应用程序上工作,该应用程序有三个不同的区域(顶部导航栏,内容窗格和底部面板),它们或多或少是相互独立的。基于其他区域的动作;例如,点击顶部导航栏上的链接将更新相关信息的内容区域,底部面板完全独立于其他区域,并且只在某些服务器推送时自行更新。GWT多个独立入口点

我正在考虑在这三个区域中的一个模块中有三个模块或三个入口点,我面临的问题是“如何只刷新内容窗格,同时支持历史堆栈?”可能类似于Gmail应用程序:单击收件箱或发送只刷新电子邮件列表b而不是屏幕的其他部分。

我知道我可以轻松地在JavaScript中执行刷新部分。我关心的是如何支持历史堆栈。谢谢!

回答

1

你看过Activities and Places框架吗?这种方法完全解决您的问题,同时为您处理历史堆栈。

总之,您只需要一个入口点。你的应用程序将被分成三个显示区域。每个显示区域都是“活动”的容器,活动决定显示的内容。

如果您点击导航栏中的链接,则会转到一个新的“地点”,该地点可能会更新内容窗格中的活动,甚至在此处启动不同的活动(例如,从收件箱移至发件箱将放弃InboxActivity并开始一个OutboxActivity)。去一个新的地方也会更新URL并因此处理后退按钮。

如果阅读文档,或许this article,这将对您更有意义。

+0

谢谢大卫。这正是我需要的! – Justin