2

私は 2 つの facelet ページを持っています: customers.xhtml (顧客のリストを含む) と customer.xhtml は 1 人の顧客の詳細ビューです。customers.xhtml 内で ah:dataTable コンポーネントを使用します。

<h:dataTable var="customer" value="#{customerBackingBean.customers}">...</h:dataTable>

ここで、テーブル内の顧客ごとにハイパーリンクを作成したいと考えています。ハイパーリンクは customer.xhtml に移動する必要があります。各顧客にはプロパティがprimaryKeyあり、表示する顧客を customer.xhtml に伝える必要があります。

どうすればいいですか?facelet-page ごとに 2 つの異なるバッキング Bean を使用すると、どのように機能しますか?

前もって感謝します。

4

2 に答える 2

0

GETまたは、リクエストを作成する通常のハイパーリンクを使用します。

<h:outputLink value="customer.jsf">
    <f:param name="id" value="#{customer.id}" />
    <h:outputText value="#{customer.name}" />
</h:outputLink>

JSFはPOSTリクエストを優先しますが、必要に応じて引き続き使用できGETます。必要に応じて、ページをブックマーク可能にする必要があるかどうかによって異なります。次に、顧客ページが表示されるときに、URLから現在の顧客IDを取得する必要があります。

JSFとナビゲーションルールを使用して、パラメータを使用してGETリクエストを作成する方法を参照してください。

于 2010-02-16T15:01:05.683 に答える