我在使用基于 Errai-UI 的 GWT 应用程序时遇到一些问题,尝试创建带有导航选项卡的页面。我面临的问题是导航和页脚没有被渲染,而且我的应用程序 WelcomePage 似乎是浏览器上唯一渲染的:
@Dependent
@Templated("#home")
@Page(startingPage=true)
public class WelcomePage extends Composite {
// stuff
}
上述WelcomePage 的关联HTML 是唯一在浏览器上呈现的HTML。
Bootstrap 代码:
@Templated("#main")
@ApplicationScoped
@EntryPoint
public class Bootstrap extends Composite
{
@Inject
Navigation navigation;
@Inject @DataField
private NavBar navbar;
@PostConstruct
public void buildUI()
{
RootPanel.get().add(navigation.getContentPanel());
}
}
这是对应的html:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="utf-8">
<title>Title</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div data-field="main">
<!--top part start -->
<div id="top">
<a href="index.html"><img src="images/logo.gif" alt="individual" width="286" height="66" border="0" /></a>
<div data-field="navbar">Navbar Goes here</div>
</div>
<!--top part end -->
<div data-field="content"></div>
<!--footer start -->
<div id="footerMain">
<div id="footer">
<ul>
<li><a href="#">Home</a>|</li>
</ul>
</div>
</div>
<!--footer end -->
</div>
<!-- main end -->
</body>
</html>
我的应用程序工作正常,只是导航和页脚没有被渲染。我可能会错过什么?
最佳答案
嗯,我认为这是因为您只是将实际内容面板添加到 DOM。 DOM 是有向无环图,因此不能有重复的注释。因此,当您使用 RootPanel.get().add(navigation.getContentPanel()) 将内容面板显式添加到 DOM 时,浏览器将用
表示的子树替换整个 DOM 树关于java - 基于 Errai-UI 的 GWT 应用程序导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15126072/