2017-04-06 4 views
1

マイページには1つのリストがあり、リダイレクトによって別のページに移動し、レコードの詳細を表示します。今私は別のページに行くのではなく、ダイアログを開きたい。マネージドBeanをダイアログとして使用する方法

次の管理対象Beanをそのダイアログに再利用することはできますか?また、私はそのダイアログがそれ自身のアクションを処理したい(私のマスターページに次のページのイベントを追加したくない)。

以下のサンプルコードは視覚的に機能します(コンポーネントを追加します)が、アクションでは機能しません。

<p:dialog id="dialog" widgetVar="dialogWidget" > 
     <ui:include src="#{nextPage.xhtml}" /> 
</p:dialog> 
+0

[ナビゲーションメニューでコンテンツにajax-refreshコンテンツを埋め込む方法は? (JSF SPA)](http://stackoverflow.com/questions/7108668/how-to-ajax-refresh-dynamic-include-content-by-navigation-menu-jsf-spa) –

+0

重要なことはui: includeは、ビューを構築するときに処理されるFaceletテンプレートタグですが、コンポーネントのすべての処理/更新は後で行われます。 –

答えて

0

[プライムフェイス]ダイアログを使用する場合は、フォームをダイアログ内で宣言する必要があります。

<p:dialog id="dialog" widgetVar="dialogWidget" > 
    <h:form > 
     <ui:include src="#{nextPage.xhtml}" /> 
    </h:form> 
</p:dialog> 

また、フォームの重複を避けるようにしてください。そうしないと、アクションの実行中に問題が発生します。

+1

いいえ、@bodyの値を持つappendToを使用する場合のみ、ダイアログにフォームが含まれていることを確認する必要があります(または、結果のダイアログがクライアント上のフォームから移動された場合も同様です)。それ以外の場合には、要件ではありません。 – Kukeltje

関連する問題