dynamic が true に設定されている ap:dialog があります。コマンドボタンでは、 のように表示されるように呼んでいます<p:commandButton ajax="true" actionListener="#{bean.setCurrentElement(element)}" oncomplete="myDialog.show" update=":myForm:myDialogId"/>
。ダイアログ内には、<p:selectOneMenu value="#{bean.currentElement.someId}
"`
コマンド ボタンをクリックすると、アクション リスナーが null をレンダリングして完了する前に bean.currentElement にアクセスするため、コードが爆発します。を使用する<h:outputText>
と、ダイアログが正しく表示されます。私のダイアログは次のように定義されています<p:dialog header="Bla" widgetVar="myDialog" modal="true" id="myDialogId"
dynamic="true">
Bean は viewScoped です。アクション Listener メソッドが呼び出される前にダイアログがレンダリングされる理由。?