2013-02-28 57 views
0

我在使用基于Errai-UI的GWT应用程序时遇到了一些问题,尝试使用导航选项卡创建页面。我所面临的问题是,导航和页脚没有被渲染,似乎我的应用程序WelcomePage是在浏览器上呈现的只有一个:在基于Errai-UI的GWT应用程序上导航

@Dependent 
@Templated("#home") 
@Page(startingPage=true) 
public class WelcomePage extends Composite { 
// stuff 
} 

上述WelcomePage的相关HTML是唯一一个被在浏览器上呈现。

启动代码:

@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()); 
    } 

} 

这是相应的httml:

<!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> 

我的应用程序工作正常,它只是导航和页脚没有被渲染。我可能会错过什么?

回答

0

代表的子树替换整个DOM树。解决方案是:

@PostConstruct 
public void buildUI() 
{ 
    content.add(navigation.getContentPanel()); // Just a SimplePanel with data-field in the Bootstrap html 
    RootPanel.get("rootPanel").add(this); 
} 
1

嗯,我想这是因为你只是添加实际的内容面板到DOM。 DOM是一个有向无环图,因此不能有重复的注释。因此,当您使用RootPanel.get().add(navigation.getContentPanel())将明确的内容面板添加到DOM时,浏览器会用

+0

我该如何解决这个问题? – xybrek 2013-02-28 19:41:50

相关问题