Jsf 在另一个对话框中编辑时更新对话框中的表
我在一个html页面中有两个对话框。其中一个列出了数据表中的所有链接。当我单击此对话框上的“编辑”时,会打开另一个对话框,实际编辑链接。我的问题是列出所有链接的datatable没有得到更新。请帮我做这个。我什么都试过了,但没有成功 dialog1.xhtmlJsf 在另一个对话框中编辑时更新对话框中的表,jsf,primefaces,datatable,updates,Jsf,Primefaces,Datatable,Updates,我在一个html页面中有两个对话框。其中一个列出了数据表中的所有链接。当我单击此对话框上的“编辑”时,会打开另一个对话框,实际编辑链接。我的问题是列出所有链接的datatable没有得到更新。请帮我做这个。我什么都试过了,但没有成功 dialog1.xhtml <p:dialog id="selectLinkDialog" styleClass="fnp-dialog" modal="true" appendToBody="false"
<p:dialog id="selectLinkDialog" styleClass="fnp-dialog"
modal="true"
appendToBody="false"
widgetVar="selectLinkDialog">
<h:form id="selectLinkForm">
<p:dataTable id="externalLinksTable"
value="#{fnpHomeBackingBean.externalLinks}" var="model"
widgetVar="fnpHomeExternalLinksTable">
<p:column headerText="Actions">
<p:commandLink id="external-link-edit-#{index}"
value="Edit" update="editLinkDialog"
oncomplete="PF('editLinkDialog').show();
return false;">
<f:setPropertyActionListener value="#{model}"
target="#
{fnpHomeBackingBean.selectedExternalLink}" />
</p:commandLink>
</p:column>
</p:dataTable>
</h:form>
</p:dialog>
dialog2.xhtml
<p:dialog id="editLinkDialog" header="Edit External Link" modal="true"
widgetVar="editLinkDialog">
<h:form id= "editLinkForm">
<p:commandButton id="saveExternalLinkButton" value="Save"
update=":selectLinkForm:externalLinksTable"
actionListener="#{fnpHomeBackingBean.saveExternalLink()}">
</p:commandButton>
</h:form>
</p:dialog>
尝试使用jquery选择器更新表单
...
<p:commandButton id="saveExternalLinkButton" value="Save"
update="@(form[id*='selectLinkForm'])"
actionListener="#{fnpHomeBackingBean.saveExternalLink()}">
</p:commandButton>
...
。。。
...
尝试使用jquery选择器更新表单
...
<p:commandButton id="saveExternalLinkButton" value="Save"
update="@(form[id*='selectLinkForm'])"
actionListener="#{fnpHomeBackingBean.saveExternalLink()}">
</p:commandButton>
...
。。。
...
您是否100%确定通过更新=“:editExternalLinksForm:fnpHomeExternalLinksTable”
正确引用了其他数据表?是。有什么不对劲吗?hv在这方面花费了太多时间…pl Help我不知道,因为这是代码片段,只有您才能知道是否还有另一个namingcontainer。而另一种方式的更新update=“editExternalLinkDialog”
也很奇怪,因为它实际上位于另一个namingcontainer中,所以我希望您确实需要绝对通过它前面的:
引用它。基本上,其余代码的结构如下:欢迎,这很奇怪,我无法解释这个错误。请编辑您的问题并创建。。顺便说一句,使用几乎相同的id(只有一个不同)容易出错(至少对我们阅读来说也是如此)。使用类似“selectLinkDialog”和“editLinkDialog”更为明确,您可以100%确保通过更新=“:editExternalLinksForm:FnphomeExternalLinkTable”
?是正确引用其他数据表。有什么不对劲吗?hv在这方面花费了太多时间…pl Help我不知道,因为这是代码片段,只有您才能知道是否还有另一个namingcontainer。而另一种方式的更新update=“editExternalLinkDialog”
也很奇怪,因为它实际上位于另一个namingcontainer中,所以我希望您确实需要绝对通过它前面的:
引用它。基本上,其余代码的结构如下:欢迎,这很奇怪,我无法解释这个错误。请编辑您的问题并创建。。顺便说一句,使用几乎相同的id(只有一个不同)容易出错(至少对我们阅读来说也是如此)。使用类似“selectLinkDialog”和“editLinkDialog”的方法更明确地说明了这一点。不起作用。事实上,当我在更新中加入一个支持bean方法时,我看到我的更新在actionListener之前被调用。@priya,这没关系,你只是误解了更新的工作原理。试过这个。不起作用。实际上,当我在update中加入一个backingbean方法时,我看到我的update在actionListener之前被调用。@priya,这没关系,你只是误解了update的工作原理。