GWT-如何将网站的层次结构映射到活动/场所/窗口?
我是新来这里和GWT的,我的英语不太好,请原谅。 我需要使用GWT创建一个网站。该网站具有层次结构:主要的全局标题和几个按钮。每个按钮都会打开应用程序的新部分,该部分有自己的子选项卡。假设每个子选项卡都是可导航的。例如: 主要形式 ->应用程序问题 --->偏好 --->创造一些东西 --->编辑某物 ->管理 --->用户管理 -->政策 现在,我想了解使用GWT的最佳选择是什么。 我想到了两个选择: 1.在入口点将有主要活动。在其开始功能中,我们将为每个子菜单(=子选项卡=子菜单)创建ActivityManager。每个子菜单将为每个子菜单创建活动管理器,依此类推。 我们将为每个活动管理器设置一个显示,并触发更改地点事件 问题是,我需要管理位置(所有位置都应转到主活动,该活动应采用其参数并委托给子位置,等等) 否则,当用户复制并粘贴url时,只会导致子活动启动,而父活动未初始化GWT-如何将网站的层次结构映射到活动/场所/窗口?,gwt,architecture,Gwt,Architecture,我是新来这里和GWT的,我的英语不太好,请原谅。 我需要使用GWT创建一个网站。该网站具有层次结构:主要的全局标题和几个按钮。每个按钮都会打开应用程序的新部分,该部分有自己的子选项卡。假设每个子选项卡都是可导航的。例如: 主要形式 ->应用程序问题 --->偏好 --->创造一些东西 --->编辑某物 ->管理 --->用户管理 -->政策 现在,我想了解使用GWT的最佳选择是什么。 我想到了两个选择: 1.在入口点将有主要活动。在其开始功能中,我们将为每个子菜单(=子选项卡=子菜单)创建Act
谢谢……菜单层次结构的最佳选择是使用嵌套小部件。这些可以深入到您需要的地方,是构建菜单的一个很好的替代方案 我知道你还想管理两件事:
onModuleLoad
中管理到达您的应用程序的用户。请参阅这段代码以选择正确的选项卡
public void onModuleLoad() {
tabPanel = new TabPanel();
tabPanel.add(new HTML("<h1>Page 0 Content: Llamas</h1>"), " Page 0 ");
tabPanel.add(new HTML("<h1>Page 1 Content: Alpacas</h1>"), " Page 1 ");
tabPanel.add(new HTML("<h1>Page 2 Content: Camels</h1>"), " Page 2 ");
String hash = Window.Location.getHash();
if (hash != null && hash.startsWith("#page")) {
int tabIndex = Integer.parseInt(hash.substring(5));
tabPanel.selectTab(tabIndex);
} else {
tabPanel.selectTab(0);
}
RootPanel.get().add(tabPanel);
}
模块加载()上的公共void{
tabPanel=新的tabPanel();
添加(新HTML(“第0页内容:Llamas”),“第0页”);
tabPanel.add(新的HTML(“第1页内容:羊驼”),“第1页”);
添加(新的HTML(“第2页内容:骆驼”),“第2页”);
String hash=Window.Location.getHash();
if(hash!=null&&hash.startsWith(“#page”)){
int tabIndex=Integer.parseInt(hash.substring(5));
tabPanel.selectTab(tabIndex);
}否则{
选项卡面板。选择选项卡(0);
}
RootPanel.get().add(tabPanel);
}
此代码
管理导航历史记录
看。我上面的代码取自此页面,但在我的示例中,我删除了历史记录管理
在这两种情况下,关键的概念都是基于url哈希找到正确的小部件并选择它。我可能误解了你的问题,如果是这样,我很抱歉。我曾经写过一个答案,描述了我如何使用MVP实现gwt应用程序。也许有一些想法你可以使用?在这里找到:你能澄清你的问题吗?您是否已经在使用MVP,但在如何区分不同的活动方面遇到了困难?