0

現在、アプリをprimefaces2.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」のコンポーネントが見つかりません。多くの検索を行いました。PF3.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 に答える