我想一個sessionscoped豆的價值注入一個viewscoped豆,但它一直返回null,這裏有一個片段:@ManagedProperty不能反映變化和不斷返回null
import javax.faces.application.FacesMessage;
import javax.faces.bean.SessionScoped;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;
//Class for managing the current logged-in user
@ManagedBean(name="user")
@SessionScoped
public class User implements Serializable{
private String userName;
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserName() {
return this.userName;
}
而且它在使用:
@ManagedBean(name="databrowser")
@ViewScoped
public class dataBrowser implements Serializable {
private List<UploadData> dataItems;
private SelectItem[] dataTypeOptions, qualityOptions, accessOptions;
private UploadData selectedData;
private String filelocation;
@ManagedProperty(value="#{user.userName}")
private String userName;
public String getUserName() {
return this.userName;
}
dataBrowser用來填充Primefaces數據表,當它被稱爲用戶名爲空,我不知道爲什麼。
你有'userName'二傳手?你需要一個才能進行注射工作。 – 2012-04-05 07:59:17
...你還需要@ViewScoped bean中的setter。 – 2012-04-05 08:09:39
這將拋出一個異常,而不是返回'null'。 – BalusC 2012-04-05 13:24:24