更新primefaces 3.x中不同页面上的组件

时间:2012-05-03 09:12:15

标签: java jsf-2 primefaces

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

感谢 任何帮助赞赏

1 个答案:

答案 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

来解决这个问题