2

しばらくの間、異なるマネージドBeanを使用している2つのページ間でオブジェクトを渡そうとしています。私はjsf2.1とprimefaces3.1を使用しています。

私の場合:

  1. p:dataTableがあり、1つの列はh:linkで、ユーザーはクリックして現在のオブジェクトを編集できます
  2. 新しいページをクリックすると、選択したオブジェクトのコンテンツが表示され、さらにアクションを実行できるようになります。

1ページ目からいくつかのパラメーターをGETリクエストとして送信し、2ページ目から処理してみました。これは機能しますが、これは私が望む解決策ではありません。選択されたオブジェクト全体が必要です。リクエストマップでそれを渡すか、ページ1を担当するBeanを@SessionScopedとして宣言し、2番目のBeanからこのBeanを注入することを考えていました。

私が成功しないのは、ページを変更する前に、どのオブジェクトが選択されたかを確認することです。リンクタグにajaxまたはactionListenerを使用してみましたが、何も機能しません。actionListenerまたはajaxイベントを実行する前に、ページが変更されます...

選択したオブジェクト/行を最初に設定し、その後でページを変更するにはどうすればよいですか?

ご協力ありがとうございました。

4

1 に答える 1

1

を使用する代わりに、 を使用しh:linkp:commandLink選択したオブジェクトを に設定し、段階的にactionListenerページを変更して、 のような JavaScript 行を使用します。oncompletelocation = 'page2.xhtml';

関連するタグのドキュメントは以下にあります。バージョン 3.1 にも存在します。

http://www.primefaces.org/docs/vdl/3.4/primefaces-p/commandLink.html

PS: ページ 1 またはページ 2 のいずれかをセッション スコープにする必要があります。そうしないと機能しません。

于 2014-06-27T11:55:39.853 に答える