1
我的問題我認爲很簡單,但我找不到明確的解決方案。級聯動態渲染selectOneMenu不起作用
我有三個selectOneMenu,我希望第一個總是呈現,第二個呈現,如果第一個有一些選定的值,第三個呈現如果第二個選擇了一些值。
的第一個和第二個運作良好的關係,但沒有第二個和第三之間的合作。
當我改變用於第一selectOneMenu用於所述值的第二selectOneMenu用於被diplayed或隱藏正確。 但是,當我改變第二個值時,第三個selectOneMenu沒有發生,就像f:ajax渲染未被觸發一樣。
貝婁的JSF代碼:
<h:panelGrid columns="2">
<h:outputText value="Type Paiement" />
<h:selectOneMenu
value="#{employeurBean.idTypePaiement}">
<f:selectItem itemValue="" itemLabel="Choix typePaiement" />
<f:selectItems value="#{typePaiementBean.typesPaiement}" var="vtp"
itemLabel="#{vtp.libelle}" itemValue="#{vtp.idTypePaiement}" />
<f:ajax event="change" render="gmodp" />
</h:selectOneMenu>
</h:panelGrid>
<h:panelGrid id="gmodp">
<h:panelGroup rendered="#{employeurBean.idTypePaiement == 2}">
<h:outputText value="Mode Paiement" />
<h:selectOneMenu
value="#{employeurBean.idModePaiement}">
<f:selectItem itemValue="" itemLabel="Choix mode Paiement" />
<f:selectItems value="#{modePaiementBean.modesPaiement}" var="vmp"
itemLabel="#{vmp.libelle}" itemValue="#{vmp.idModePaiement}" />
<f:ajax event="change" render="grib"/>
</h:selectOneMenu>
</h:panelGroup>
</h:panelGrid>
<h:panelGrid id="grib">
<h:panelGroup rendered="#{employeurBean.idModePaiement == 1}">
<h:outputText value="Compte" />
<h:inputText value="#{employeurBean.compte}">
</h:inputText>
</h:panelGroup>
</h:panelGrid>
是否有任何想法,以實現這一目標。 非常感謝您的幫助
感謝您的回答,我正在簡化我的支持bean的代碼以發佈它,最後用簡化代碼解決問題。所以問題是backing bean有一個父bean,而且這個父bean是不可序列化的,所以我使它成爲可序列化的並且解決了問題。 –