使用oneselectmenu进行动态对话

时间:2013-05-20 20:58:36

标签: jsf-2 primefaces

我有一个p:对话框,其中dynamic设置为true。在命令按钮中,我将其调用为显示<p:commandButton ajax="true" actionListener="#{bean.setCurrentElement(element)}" oncomplete="myDialog.show" update=":myForm:myDialogId"/>。在对话框中,我有一个<p:selectOneMenu value="#{bean.currentElement.someId}“`

当我单击命令按钮时,代码会爆炸,因为在动作侦听器完成之前访问bean.currentElement会将其呈现为null。当我使用<h:outputText>时,对话框会正确显示。我的对话框定义为<p:dialog header="Bla" widgetVar="myDialog" modal="true" id="myDialogId" dynamic="true">

bean是viewScoped。在调用动作侦听器方法之前呈现对话框的任何想法。 ?

1 个答案:

答案 0 :(得分:0)

我很遗憾没有时间弄清楚发生了什么。我所做的是一个黑客,如果它可以被称为。我在视图初始化期间创建了类。虚拟对象确保get没有爆炸,动作监听器将其设置为正确的对象,然后再次触发以获得正确的值。

我会尝试检查并查看原因,并发布我的结果。