2016-10-04 40 views
0

我是新來的primefaces,並且已經面臨「selectOneMenu」組件的問題。我已經實現了一個mainMenu.xhtml文件,該文件在我的所有頁面上都可見。這個mainmenu有一個用於語言變更的「selectOneMenu」組件。 「selectOneMenu」不會在起始頁面和其他幾個頁面上打開,但也有一些頁面可以打開並按照它應該的方式工作。我已經搜索了幾天的網絡,並找不到任何暗示或建議,這解決了我的問題。 會很高興在這裏找到一些幫助。primefaces:selectonemenu沒有在所有頁面上打開

下面

見代碼:Identity_Session是@ SessionScoped豆; 「languageSet」是(String,Integer)對的HashMap。

<?xml version='1.0' encoding='UTF-8' ?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:h="http://xmlns.jcp.org/jsf/html" 
     xmlns:p="http://primefaces.org/ui" 
     xmlns:f="http://xmlns.jcp.org/jsf/core"> 
    <h:head> 

    </h:head> 
    <h:body> 
     <h:form>  

      <p:panel>      
       <h:panelGrid columns="2" cellpadding="5" style="right: 700px; position: absolute; margin-top: -7px;" rendered="#{identity_Session.showMenuLogout()}"> 
        <p:outputLabel for="languageComboBox" value=" #{identity_Session.translate('outputlabel_language')}:" style="font-weight:bold"/> 
        <p:selectOneMenu id="languageComboBox" value="#{identity_Session.languageID}" style="width:150px"> 
         <p:ajax listener="#{identity_Session.translationAction()}" update="@all" delay="1000"/> 
         <f:selectItems value="#{identity_Session.getLanguageSet()}" /> 
        </p:selectOneMenu> 
       </h:panelGrid>       
      </p:panel> 

     </h:form> 
     <br/> 
     <br/> 
    </h:body> 
</html> 

更新! 我在同一個網頁上使用相同的值(如上所述)selectOneMenu。當我將selectOneMenu放在「west」-layoutUnit中時,它不會打開,但是當我將它放在「東」-layoutUnit中時,它會打開。這實際上是一個「PrimeFaces」 - 或者我錯過了什麼?

+0

如果你刪除的選項方面? – Kukeltje

+0

不幸的是它不起作用。我收到以下錯誤消息:javax.faces.component.html.HtmlPanelGrid無法轉換爲org.primefaces.model.menu.MenuElement。我認爲原因是,「menuBar」組件由「menuItems」,「subMenus」和「facets」組成。我認爲你不能只是把「面板」,「panelGrid的」或其他組件類型,不建議 – shaolinmonkabbot

+0

@all使用,儘量沒有Ajax – Nikola

回答

0

嘗試改變

</f:panel> 

</p:panel> 
+0

沒有幫助.... – shaolinmonkabbot

+0

下次嘗試添加一些文本爲**爲什麼**你認爲這有助於。如果您不確定,請添加評論。 – Kukeltje