2012-03-04 61 views
1
<ui:composition> 
     <h:form> 
      <p:menubar> 
        <p:menuitem id="signup" value="signup" label="Sign Up" action="goSignUp"/> 
      </p:menubar> 

      <h:commandButton id ="signup2" value="signup2" label="Sign Up" action="goSignUp" /> 

     </h:form> 
</ui:composition> 

爲什麼上面的菜單不工作,並且正常的命令按鈕正在工作?我包含menuBar.xhtml到我的頁面,之後菜單不再工作。如果我在不包含它們的情況下直接將它們實現到原始頁面,它們工作正常,爲什麼? Primefaces版本3.1和JSF2.0 + Glassfish 3.1。爲什麼菜單欄不能使用ui:在Primefaces中包含

乾杯, 薩米

回答

0

伊夫在我的環境檢查您的問題,不得不說,這workes對我來說,雖然我做了一些細微的變化。

首先我創建組合頁面在我/WEB-INF/template/文件夾:

<body> 
    <ui:composition> 
    <p:menubar> 
     <p:menuitem id="signup" value="signup" label="Sign Up" action="goSignUp" ajax="false"/> 
    </p:menubar> 

    <h:commandButton id="signup2" value="signup2" label="Sign Up" action="goSignUp" /> 
    </ui:composition> 
</body> 

在這之後我插入到我.xhtml文件:

<f:view> 
    <h:body> 
    <h:form> 
     <ui:include src="/META-INF/template/navbar.xhtml" /> 
    </h:form> 
    </h:body> 
</f:view> 

一切workes大。
也許你注意到在<p:menuitem>標記上設置的ajax =「false」屬性。該值在默認情況下設置爲true,並停止JSF實現執行其默認生命週期。通過將其設置爲false,您將獲得常規的JSF行爲。

希望這個幫助,玩得開心!

相關問題