0

JSF/ICEFacesを使用しています。値を持つ行が多数あるテーブルがあり、グラフを表示する別のページがあります。その特定のコンボをグラフ化するために、すべての行にアイコンを配置したいと思います。文字列ナビゲーションルールを返すことで、JSFで通常のナビゲーションを行うことを知っています。ただし、行に対応するBeanからチャート作成を行うBeanにパラメーターを渡す方法がわかりません。私がその問題に取り組むことができることを知っていますか?

ありがとう、

タム

4

2 に答える 2

1

つまり、ページAにはスタッフの表があり、ページBには個々のスタッフのチャートがあります。フローは次のとおりです。ページAに移動->テーブルを確認->ページAで何かをクリックしてグラフを表示->ページBに移動->グラフを読む

ここでできることはいくつかあります。3つ提案します。

1つは、チャートページをRESTfulにして、チャート化するもののIDを渡すことができます。IE、ページの列には次のようになります。

<ice:outputLink value="/chartPage?stuffID=#{iterator.stuffID}">Review Chart</ice:outputLink>

次に、チャートページのバッキングBeanで、JAX-RSを使用してページパラメータを渡すか、リクエストオブジェクトを浚渫することができます。

((FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("stuffID)

これを使用して、StuffIDを取得し、グラフを作成できます。これにより、関心の分離が実現し、グラフを取得するBeanを気にすることなく、グラフページでグラフを作成できるようになります。これはが個人的にこれを行う方法です。

2つ目は、 Beanセッションのスコープを設定する(または、Seamなどを使用している場合は会話のスコープを設定する)ことで、2つのページが1つのBeanを共有するようにすることができます。これはおそらく最も簡単ですが、Beanが不要になったときにクリーンアップする必要があるため、やや危険です。

3つ目は、通常のHTTPフォームを使用して、1番目に行ったのと同じ種類のRequestParameterMap浚渫を使用して、グラフページにPOSTすることができます。これは1番と同じように機能しますが、これを実行するすべての場所で同様のフォームが必要になるほどクリーンではなく、通常のハイパーリンクにすることはできません。

これらの3つはあなたが必要とすることを達成するでしょう、しかし、繰り返しますが、私の推薦はナンバーワンでしょう。通常のハイパーリンクだけでチャートページにリンクできると、おそらくかなり便利です。

于 2009-06-22T19:16:06.110 に答える
0

文字列の代わりにオブジェクトを渡す方法は?

于 2009-09-10T13:53:30.120 に答える