0

我目前正在将我们的应用程序从 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 中组件引用的概念吗?

感谢任何帮助

4

1 回答 1

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"/>

我遇到了类似的问题,我通过将对话框附加到正文的 html 来解决这个问题

于 2012-05-03T10:59:18.443 回答