Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 未在primefaces对话框中调用通过f:setPropertyActionListener的属性集的Getter_Jsf_Primefaces - Fatal编程技术网

Jsf 未在primefaces对话框中调用通过f:setPropertyActionListener的属性集的Getter

Jsf 未在primefaces对话框中调用通过f:setPropertyActionListener的属性集的Getter,jsf,primefaces,Jsf,Primefaces,我有一个按钮,它将属性设置为要在Primefaces对话框中使用的支持bean p:commandButton value="Options" onclick="optionsDialog.show();"> `<f:setPropertyActionListener value="#{item}" target="#{bean.tempItem}" /> </p:commandButton> p:commandButton value=“Options”oncl

我有一个按钮,它将属性设置为要在Primefaces对话框中使用的支持bean

p:commandButton value="Options" onclick="optionsDialog.show();">
`<f:setPropertyActionListener value="#{item}" target="#{bean.tempItem}" />
</p:commandButton>
p:commandButton value=“Options”onclick=“optionsDialog.show();”>
`
我可以看到这里叫塞特

<p:dialog header="Options" widgetVar="OptionsDialog" dynamic="true" modal="true"
width="400" height="250">
<h:outputText value="#{bean.tempItem.value}"/> 
</p:dialog>


在这里,永远不会调用getter。

这是因为对话框的内容在显示之前没有更新。您需要通过命令按钮的
update
属性来更新它。在此处引用对话框的(相对)客户端ID。您还需要将
onclick
替换为
oncomplete
,因为
onclick
在执行操作之前激发,而
oncomplete
在执行操作之后激发

<p:commandButton ... update="dialogId" oncomplete="optionsDialog.show();">

...

<p:dialog id="dialogId" ...>

...

顺便说一下,对话框小部件名称中还有一个小写/大写输入错误。但这会导致对话框根本不显示,这是另一个问题。

它正在工作,但我们的按钮位于数据表中。这些按钮适用于数据表中的每一行。当我第一次点击时,它工作正常。关闭对话框后,它不会再次显示。哪个版本?在3.0 Beta和早期版本中,对话框很麻烦。只有从3.0.1开始,一切正常。嗯,尝试删除
dynamic=“true”