Java GWT模块和页面:每个主机页面都加载这两个模块并垂直显示它们

Java GWT模块和页面:每个主机页面都加载这两个模块并垂直显示它们,java,gwt,module,entry-point,Java,Gwt,Module,Entry Point,简而言之,问题是:我有两个模块继承了一个公共模块(没有入口点)和一个主机页。无论加载哪个,它都会同时在页面上加载这两个。 我只想让它们单独加载并显示,而不是在所有页面中显示在一起 当我启动Login.html时,它会启动这两个模块(它们垂直共享浏览器空间),并加载两次正确的入口点(Login extensed entrypoint) 当我启动Main.html时,它会启动这两个模块,每个模块都有一个主入口点 我怀疑问题出在项目结构中,但我们不想仅仅因为模块就将一个项目/应用程序拆分为几个项目 登

简而言之,问题是:我有两个模块继承了一个公共模块(没有入口点)和一个主机页。无论加载哪个,它都会同时在页面上加载这两个。 我只想让它们单独加载并显示,而不是在所有页面中显示在一起

当我启动Login.html时,它会启动这两个模块(它们垂直共享浏览器空间),并加载两次正确的入口点(Login extensed entrypoint)

当我启动Main.html时,它会启动这两个模块,每个模块都有一个主入口点

我怀疑问题出在项目结构中,但我们不想仅仅因为模块就将一个项目/应用程序拆分为几个项目

登录:

 <?xml version="1.0" encoding="UTF-8"?>
      <module rename-to='Login'>
      <inherits name='fqdn.Common' />
      <stylesheet src='../Common.css' />  
      <!-- Specify the app entry point class. -->
      <entry-point class='fqdn.Login' />
   <module>
 <?xml version="1.0" encoding="UTF-8"?>
      <module rename-to='Main>
      <inherits name='fqdn.Common' />
      <stylesheet src='../Common.css' />  
      <!-- Specify the app entry point class. -->
      <entry-point class='fqdn.Main' />
    <module>
<html>
  <head>        
    <link type="text/css" rel="stylesheet" href="css/Common.css">
    <script type="text/javascript" language="javascript" src="Login/Login.nocache.js"></script>
  </head>
  <body>
    ...
  </body>
</html>
<html>
  <head>        
    <link type="text/css" rel="stylesheet" href="css/Common.css">
    <script type="text/javascript" language="javascript" src="Main/Main.nocache.js"></script>
  </head>
  <body>
    ...
  </body>
</html>

如果您在同一屏幕上同时看到两个模块,这意味着您已经将它们都添加到了根面板中。此外,这意味着您有一个垂直面板或类似于您的应用程序容器的东西-SimplePanel将不接受多个小部件,其他面板将显示一个在另一个之上,或一个在另一个之下

检查Main.java和Login.java入口点中的代码。

它现在可以工作了

我们使用的是SuperDevMode,它混合了两个模块。 请参阅类似的答案和更好的解释

我更改了代码服务器的参数,以分别加载模块,而不是一起加载

之前:

 -src SRC package.Main package.Login
现在:

注意:在这两种情况下,SRC都是同一个目录。我不知道这个参数列表为什么以及如何工作,但每次当我在同一页面上看到两个模块时,我都会启动DevModeOn,然后根据url编译当前模块,然后它再次工作

如果我得到一个重定向和其他模块启动,它可能再次被打破。但是,再一次,为模块开发一个模型,并重新编译它-工作

这个问题(据我所知)只是使用带有错误参数的SuperDevMode的一个小问题

还要注意的是,即使按照替换整个RootLayoutPanel(html正文)时

这个问题坚持要解决。
我真的认为这只是CodeServer参数和重新编译mashup。

我不希望它们一起显示(如果有误导,请更新我的问题)。我没有根面板,只是SimplePanel的一个新实例否则,您的GWT应用程序将不会在屏幕上显示任何内容。我更新了我的回复。我添加了“RootLayoutPanel.get().clear();RootLayoutPanel.get().add(appWidget);”而不仅仅是RootPanel。请您在添加顶级组件的地方共享
fqdn.Main
fqdn.Login
的一些代码。我想知道我是否在页面上添加/显示了
Composite/SimplePanel
?我更新了它并添加了Main.java(Main和Login看起来完全相同)
 -src SRC package.Main package.Login
-src SRC package.Main -src SRC package.Login
RootLayoutPanel.get().clear();
RootLayoutPanel.get().add(appWidget);