【发布时间】:2013-08-29 12:28:04
【问题描述】:
我正在尝试通过提交使用 JSF 和 primefaces 构建的表单将记录添加到数据表中,该表单从包含数据表的页面弹出。提交表单时,数据会更新到数据库,但我需要刷新/更新数据表提交的数据。有什么方法可以让我从表单中引用提交的主页,以便我可以刷新/更新数据表。
包含数据表的JSF代码sn-p
<h:form id="lpcForm">
<!-- <p:growl id="messages" showDetail="true" /> -->
<div id="content">
<h:commandLink ajax="true" id="cmdLinkAdd" value="Add" action="#{lpcBean.addRecord}"
target="_blank" update="@form" process="@this" />
<p:dataTable var="lpcData" id="lpcDataTable" widgetVar="lpcTable"
value="#{lpcBean.lpcIdList}" selection="#{lpcBean.selectedRows}"
editable="true" scrollable="true" scrollWidth="1110"
scrollHeight="330" styleClass="datatable">
<!--Contents of the table-->
</p:dataTable>
</div>
点击命令链接,我会弹出网页,我可以通过它提交数据,其sn-p如下
<h:form id="addLpc">
<p:focus context="addLpc" />
<div align="center">
<h:panelGrid id="addLpcForm" columns="3" >
contents of the form
</h:panelGrid>
</div>
<div align="center">
<p:commandButton id="submitButton" value="Submit" ajax="true"
action="#{lpcRecordAddition.formSubmit}" />
<h:outputText />
</div>
</h:form>
在提交此表单时,我需要更新其他页面中的数据表。
【问题讨论】:
-
将
update=":lpcForm:lpcData"添加到您的p:commandButton。 -
如果我这样做,我会收到错误“找不到标识符为“:lpcForm:lpcData”的组件,从“addLpc:submitButton”引用
-
也许应该是
update="lpcForm:lpcData"只需检查表单在客户端获取的ID。 -
我在使用 update="lpcForm:lpcDataTable" 时遇到了同样的错误。lpcDataTable 是数据表的 id
-
我看错了你的代码,当然应该是数据表ID。
标签: ajax jsf-2 primefaces