我试图让管理bean实例,在另一个托管bean感谢这个BalusC后:here获取其他托管bean托管bean参考
随着findBean
方法,它的伟大,我找回我的豆,但有ManagedProperty
我无法得到我的豆。
我的豆注入是这个:
@ManagedBean(name="locale")
@SessionScoped
public class LocaleBean {
private String locale;
public String getLocale() {
return locale;
}
public void setLocale(String locale) {
FacesContext.getCurrentInstance().getViewRoot().setLocale(new Locale(locale));
this.locale = locale;
}
}
所以,当我在login
豆称之为LocaleBean locale = findBean("locale");
它的工作,但:
@ManagedProperty("#{locale}") // OR localeBean, LocaleBean...
private LocaleBean locale;
不工作...
com.sun.faces.mgbean.ManagedBeanCreationException:Impossible decréerle beangéré«login»。 Lesproblèmessuivants ontétédétectés: - Lapropriété«locale»du beangéré«登录»n'existe pas。
为什么要这样?
是不是因为我的'locale'豆可能没有bean之前被实例化'登录'豆...? –
我不太了解法语,但是您是否为此属性创建了getter和setter? – partlov
我刚看到这篇文章:http://stackoverflow.com/questions/5165567/how-to-inject-entire-managed-bean-via-managedproperty-annotation。这确实是一个getter/setter问题。谢谢partlov –