我正在使用带有 Primefaces 3.2 的 JSF 2.1 的 Mojarra 实现。
我的问题大概是这样的:
<p:dialog id="someDialog">
..
<h:form id="dialogForm">
<p:commandLink action=".."update=":someForm:someUIRepeat:someDataTable:someInputTextArea"/>
</h:form>
</p:dialog>
<h:form id="someForm">
<ui:repeat id="someUIRepeat" value=".." ..>
<p:dataTable id="someDataTable" value=.. >
<p:column>
<p:inputTextarea id="someInputTextarea" value=../>
<p:column>
.. here go other columns
<ui:repeat>
</h:form>
问题是当我单击对话框中的 commandLink 时,inputTextarea 没有更新。但是,如果我在 commandLink 的更新中写这个: update=":someForm:someUIRepeat:someDataTable,:someForm:someUIRepeat:someDataTable:someInputTextArea"
然后整个 dataTable 得到更新,inputTextarea 也得到更新,但是在我单击对话框中的 commandLink 后,位于其他列中的字段中的值将被删除。
我将 dataTable 放在 ui:repeat 中的原因是我需要将一个 dataTable 与一个集合的每一行绑定,我认为这与我的问题无关。
有什么想法可以解决这个问题吗?
提前致谢,
努尔詹。