Получатель для набора свойств через f: setPropertyActionListener не вызывается в диалоге простых лиц - PullRequest
1 голос
/ 15 марта 2012

У меня есть кнопка, которая устанавливает свойство для базового компонента, который будет использоваться в диалоге Primefaces.

p:commandButton value="Options" onclick="optionsDialog.show();">
`<f:setPropertyActionListener value="#{item}" target="#{bean.tempItem}" />
</p:commandButton>

Я вижу, что здесь вызывается сеттер.

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

Здесь геттер никогда не вызывается.

1 Ответ

0 голосов
/ 16 марта 2012

Это потому, что содержимое диалога не обновлялось до его показа.Вам необходимо обновить его по атрибуту update командной кнопки.Ссылка (относительный) идентификатор клиента в диалоге там.Вам также необходимо заменить onclick на oncomplete, потому что onclick запускает до действия и oncomplete запускает после действия.

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

...

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

Кстати, в названии виджета диалога также есть опечатка в нижнем / верхнем регистре.Но это может привести к тому, что диалог вообще не будет отображаться, что является другой проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...