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