我目前正在将我们的应用程序从primefaces 2.21迁移到3.2。我知道3.2中有许多新的变化。我正在尝试使用如下的ajax请求更新对话框。
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
//namespaces
template="MainTemplate.xhtml">
<ui:include src="dlgpath"/>
<h:form id="formId">
<p:datatable id="tab1">
<p:column>
<p:commandButton id="mdf" value="modify" oncomplete="dlg.show();"
update="dlgfrmid"/>
</p:column>
</datatable>
</h:form>
下面是对话框的代码
<p:dialog widgetVar="dlg">
<h:form id="dlgfrmid">
<p:panelGrid id="gridId"> </p:panelGrid>
<p:commandButton></p:commandButton>
</h:form>
</p:dialog>
我收到“臭名昭着”在查看错误消息中找不到标识符为“dlgfrmid”的组件 我做了很多搜索,有些人可以帮助我理解PF 3.x中组件引用的概念......
感谢 任何帮助赞赏
答案 0 :(得分:1)
尝试更改
<p:dialog widgetVar="dlg">
进入
<p:dialog appendToBody="true" widgetVar="dlg">
和
<p:commandButton id="mdf" value="modify" oncomplete="dlg.show();"
update="dlgfrmid"/>
到
<p:commandButton id="mdf" value="modify" oncomplete="dlg.show();"
update=":dlgfrmid"/>
我遇到了类似的问题,我通过将对话框附加到body的html
来解决这个问题