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需要弹出一个helper类来从DB中获取用户。
@ManagedProperty(value="#{userBO}")
private UserBO userBO;
问题是,当对象完全实例化时会发生弹簧注入。因此,我无法将userBO.getUsersFromDataBase()
放入构造函数中,并将其分配给我的users
我无法弄清楚如何在我的managedBean中使用spring注入从DB中获取用户。 Spring需要完成ManagedBean的实例化,以便它可以注入帮助程序类,但是在完全实例化ManagedBean之前,jsf页面会请求数据库值。有点卡住:/
答案 0 :(得分:1)
我不熟悉spring,但是在标准的JSF中,你可以在构造之后和依赖注入之后调用的方法上使用@PostConstruct
注释,例如:
@PostConstruct
public void init() {
userBO.getUsersFromDataBase()
}