0
我有一個由spring管理的支持bean,它的作用域是view ,我有一個用戶頁面,顯示所有用戶 ,我想傳遞給數據表的用戶列表變量,我想初始化這個變量在頁面的構造(和使用這個變量,只要我仍然在頁面中),我很困惑初始化用戶列表的最佳方式,我已經在我的腦海3種方式:初始化背景bean中的變量(在視圖範圍內使用)
初始化通過構造:
@Component("user")
@Scope("view")
public class MyBean {
private List<User> usersList;
public MyBean() {
usersList=userService.getUsers();
}
}
初始化通過PreRender事件:
@Component("user")
@Scope("view")
public class MyBean {
private List<User> usersList;
public void preRender(ComponentSystemEvent event){
if(usersList!=null)
usersList=userService.getUsers();
}
}
初始化通過@PostConstruct
@Component("user")
@Scope("view")
public class MyBean {
private List<User> usersList;
@PostConstruct
public void init() {
usersList=userService.getUsers();
}
}
請指教一下是考慮範圍內的情況下,初始的最好方式,我想初始化變量一次,並使用數據表中完全相同的變量,只要我仍然在同一頁面中。
其實你只有兩個選擇 - 構造函數中的初始化不會工作,因爲'userService'將在bean對象創建後注入。我通常在@PostConstruct方法中做,但我沒有使用Spring。 – Osw