我有这种情况:
我在goToDetail(String item)
中有一个loginBean
方法,当选择项目时,该方法会导致page2.xhtml。
当我尝试将属性从loginBean
传递到dettaglioBean
时,当呈现page2.xhtml或引发null
时,dettaglioBean
中的属性为@PostConstruct
。
以下是goToDetail
方法:
public String goToDetail(VStatoavanzamentoriep item) {
FacesContext context = FacesContext.getCurrentInstance();
DettaglioBean bean = (DettaglioBean) context.getApplication().evaluateExpressionGet(context, "#{dettaglioBean}", DettaglioBean.class);
bean.setItem(item);
return Constants.PageID.DettaglioID;
}
和dettaglioBean
在faces-config.xml
managedBean
当我转到page2.xhtml时,item
为null
。
我应该使用依赖注入,包括:
@ManagedProperty("#{dettaglioBean}") //+ setter
private DettaglioBean dettaglioBean;
在loginBean
?
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以通过将loginBean注入dettaglioBean而不是反过来来访问loginBean中的值,因为它是dettaglioBean中您需要的loginBean中的值。
@ManagedProperty("#{loginBean}")
private LoginBean loginBean;
当JSF实现遇到EL时,它会在各种范围映射中搜索bean对象,并在找到它时将其注入dettaglioBean。