2

JSF で CRUD アプリを作成しています。ここに画像の説明を入力 私は MovieName を使用しましRespectiveIDた。The Moviename はタグにあります。CommandLink誰かが映画をクリックすると、それぞれの映画の詳細が表示されるようにしたいと思います。PHP の場合は、 IDinを簡単に追加して、 parameter movieDetail.php?id=12DB のクエリに使用できます。私が知る限り、JSFactionLIstenerでは Bean 関数を使用して呼び出します。結果を表示するクエリとは別に、Bean関数に何を書くのかわかりません..これで私を助けることができる人は誰でもありがとう

4

2 に答える 2

1

ビューmovieDetail.jsfを作成し、ムービー名を出力しながら、ムービーIDを追加してリンクを作成します。例:movieDetail.jsf?id=12。

movieDetail.jsf<f:viewParam>でタグを追加し、id値をbeanプロパティに設定します。それから加えて

<f:event type="preRenderView" listener="#{bean.listener}">Beanに映画の詳細を入力します。

preRenderViewイベントは、ビューがレンダリングされる直前に発生します。だから、これは豆を映画の詳細で満たすのに最適な時期です。preRenderViewイベントでは、listenerメソッドはidプロパティを使用してデータベースにクエリを実行し、映画の詳細を検索します。

<f:metadata>movieDetail.jsf内の2つのタグを使用します。

<f:metadata>
<f:viewParam name="id" value="#{bean.id}"/>
<f:event type="preRenderView" listener="#{bean.listener}"/> 
</f:metadata>

ユーザーがビューにアクセスすると、たとえば、movieDetail.jsf?id = 12、id値12がBeanのidプロパティに設定されます。ビューがレンダリングされる前に、リスナーメソッドが呼び出されます。つまり、この場合public void listener()はBeanが呼び出され、Beanにムービーの詳細が入力されます。

于 2012-12-27T15:10:30.797 に答える
0

Sandeepが示唆しているように、間違いなく別のJSFページを使用する必要がありますが、映画のリストを表示するためにデータテーブルを使用することでメリットが得られると思います。それらを操作する方法については、このリンクを確認してください。

リストに表示する各映画のデータのタイプ(名前とID)を保持する単純なクラスを作成する必要があります。次に、それらのオブジェクトタイプのリストを作成し、そのリストを使用してデータテーブルにデータを入力できます。次に、binding属性を使用して、データテーブルをバッキングBeanのHtmlDataTableオブジェクトにバインドし、ユーザーがクリックした行への参照を取得できます。ユーザークリックを処理するメソッドでは、指定したムービーに必要なデータを設定し、単一のムービーを表示するためのビューの名前を返すことができます。

于 2012-12-27T16:09:44.547 に答える