[英]Display datatables values from databse using spring injection in a ManagedBean
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 需要幫助程序 class 的 spring 注入才能從數據庫中獲取用戶。
@ManagedProperty(value="#{userBO}")
private UserBO userBO;
問題是,spring 注入發生在 object 完全實例化時。 所以我不能將我的userBO.getUsersFromDataBase()
放在構造函數中並將其分配給我的users
我只是不知道如何在我的 managedBean 中使用 spring 注入從數據庫中獲取用戶。 Spring 需要完成 ManagedBean 的實例化,以便它可以注入 helper class,但是 jsf 頁面在 ManagedBean 完全實例化之前就請求數據庫值。 有點卡住了:/
我不熟悉 spring,但是在標准 JSF 中,您可以在構造后和依賴注入后調用的方法上使用@PostConstruct
注釋,例如:
@PostConstruct
public void init() {
userBO.getUsersFromDataBase()
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.