2012-02-09 3 views
1

バッキングビーンを持つページ(jsp)を表示する必要があるjsf 1.2アプリケーションがあります。私が助けてくれるほとんどの例は、ユーザーの編集用に空白のJSPを表示しています。私の場合は、jspのロードの前にDBからデータを取得する必要があります。これをどのように実行するのですか?複数のページのページと共有Beanを表示する前にバスロジックにアクセスする

バッキングBeanメソッドで@postconstructを試しましたが、このBeanを複数のJSPと共有すると、すべてのページの情報が初期化されます。別のページに別のデータが必要です。 JSP。

私はStrutsのバックグラウンドから、データを取得するためにビジネスロジックを呼び出すActionのURLを呼び出してから、JSPに転送します。これをJSFで達成するためには、それはかなり単純ではないようです。

答えて

2

私はバッキングBeanメソッドに@PostConstruct試みたが、私はそれがすべてのページの情報を初期化している複数のJSPでこのBeanを共有する場合、私は別のページに別のデータを必要とし、各ページには、DBから一部のデータを読み込む必要がありますJSPで表示する前に

ページ(ビュー)は、独自のリクエスト/ビューは、他の場所で共有ないあるバッキングBeanスコープが必要です。それはあなたの "問題"(実際には設計上の問題です)を修正するはずです。複数のビューに対して単一のセッションスコープBeanを使用しないでください。それはセッションスコープの間違った使用です。


私は、データを取得するためにビジネスロジックを持って呼び出しますし、私は、JSPに直接でしょうアクションのためのURLを呼び出しますStrutsの背景から来ています。これをJSFで達成するためには、それはかなり単純ではないようです。

JSFとStrutsは非常に異なります。 JSFはコンポーネントベースのMVCフレームワークですが、StrutsはアクションベースのMVCフレームワークです。 Strutsアクションクラスを念頭に置いてJSFバッキングBeanクラスを設計するべきではありません。まともなJSFチュートリアルを順を追って正しい軌道に乗せてください。概要については、our JSF wiki pageの下部もご覧ください。

JSF 1.2は完全に古くなっています。 JSF 2.0はすでに2年以上前にリリースされています。これが新しいアプリケーションでも、趣味であれば、JSF 1.2を忘れてJSF 2.0を続けることをお勧めします。

+0

ありがとう@BalusCあなたの答えを受け入れました、もう一度ありがとう! –