Я начинаю с примеров:
Example 1
<p:dataTable>
...
<p:column headerText="Actions" style="text-align:center; width:100px;">
<p:commandLink value="Delete" action="#{bean.delete}"
update="data">
<f:setPropertyActionListener target="#{bean.key}" value="#{item.key}" />
</p:commandLink>
</p:column>
...
</p:dataTable>
Example 2
<p:dataTable>
...
<p:column headerText="Actions" style="text-align:center; width:100px;">
<p:commandLink value="Delete" actionListener="#{bean.delete}"
update="data">
<f:setPropertyActionListener target="#{bean.key}" value="#{item.key}" />
</p:commandLink>
</p:column>
...
</p:dataTable>
В первом случае (ссылка на команду с action
)свойство bean.key
установлено правильно, но таблица не отображается снова после удаления элемента.
Во втором случае (ссылка на команду с actionListener
) свойство не установлено, и я получаю NullPointerException
,Но у меня есть другая командная ссылка с actionListener
вне таблицы, и она отлично работает и обновляет таблицу.
Как сделать первый случай для рендеринга таблицы после удаления элемента или каким-либо образом решить проблему?