2011-12-29 21 views
0

我在Tomcat 7容器中使用JSF2 + CDI。我發現了一個奇怪的問題,我有一個@RequestScoped託管bean,用@Named註釋標註,Iam使用它在Facelet頁面上的屬性。在該頁面中安排了三個連續的下拉列表。當頁面加載時,我已經使用其getter方法初始化了第一個下拉列表。在同樣的方法中,我初始化了第二個和第三個下拉框的屬性。但是第二個和第三個屬性在頁面中變爲空。我檢查了第二個和第三個屬性的getter方法,我發現所有這些屬性都是null,甚至第一個getter方法初始化的第一個屬性也顯示爲null。但是,當我將@Named註釋更改爲@ManagedBean時,我可以正確初始化值。當使用CDI時,Bean屬性變爲null @ Annotation

回答

2

確保您導入了正確的包。如果您使用CDI @Named,則需要導入javax.enterprise.context.RequestScoped;。但是,如果您使用@ManagedBean,則需要導入javax.faces.bean.RequestScoped;