JSF + Springでこの設計上の問題が発生しました:-
ユーザーの詳細を表示するロードするページにデータテーブルを取得しました。これはデータベースから取得されます。
したがって、私のjsfページには次のものがあります:
<p:dataTable id="userTable" var="user" value="#{userBean.users}" rowKey="#{user.userID}"
selection="#{userBean.selectedUser}" paginator="true" rows="10" >
マネージド Bean には次のものがあります。
private List<UserDetails> users; // getters and setters
ここで、管理対象 Bean は、DB からユーザーを取得するために、ヘルパー クラスのスプリング インジェクションが必要です。
@ManagedProperty(value="#{userBO}")
private UserBO userBO;
問題は、オブジェクトが完全にインスタンス化されたときにスプリング注入が発生することです。したがってuserBO.getUsersFromDataBase()
、コンストラクターに my を配置して、それを my に割り当てることはできませんusers
managedBean でスプリング インジェクションを使用して、DB からユーザーをフェッチする方法がわかりません。Spring は、ヘルパー クラスを注入できるように ManagedBean のインスタンス化を完了する必要がありますが、ManagedBean が完全にインスタンス化されるずっと前に、jsf ページがデータベース値を要求します。ちょっと立ち往生:/