2013-02-28 58 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

相關問題