我有一個p:對話框,其中動態設置爲true。在命令按鈕中,我打電話給它顯示這樣的<p:commandButton ajax="true" actionListener="#{bean.setCurrentElement(element)}" oncomplete="myDialog.show" update=":myForm:myDialogId"/>
。在對話框裏面,我有一個<p:selectOneMenu value="#{bean.currentElement.someId}
「`primefaces與oneselectmenu的動態對話框
當我點擊命令按鈕,代碼炸燬,因爲之前的動作監聽器是完全有通過使其空的bean.currentElement進行訪問。當我使用<h:outputText>
,對話框顯示正常。我的對話被定義爲<p:dialog header="Bla" widgetVar="myDialog" modal="true" id="myDialogId" dynamic="true">
的bean是viewScoped。爲什麼對話框的動作監聽器方法之前作出的任何想法被稱爲?
Bean是viewscoped。 –
我認爲你是對的,但我得到這個異常javax.faces.component.UpdateModelException:javax.el.PropertyNotFoundException:/pages/dialog/myDialog.xhtml @ 58,73 value =「#{bean.currentElement.someId}」:目標無法訪問,'null'返回null –
我不認爲我可以提供SSCSE,因爲它相當複雜,而且有人正在嘗試編寫代碼。有什麼我可以做,以確定是什麼原因導致它爲每個請求重建。 –