我在Tomcat 7容器中使用JSF2 + CDI。我发现了一个奇怪的问题,我有一个@RequestScoped托管bean用@Named注释注释,Iam在Facelet页面上使用它的属性。在该页面中安排了三个连续的下拉列表。当页面加载时,我已使用其getter方法初始化了第一个下拉列表。在同样的方法中,我初始化了第二个和第三个下拉框的属性。但是第二个和第三个属性在页面中变为空。我检查了第二个和第三个属性的getter方法,我发现所有这些属性都是null,即使第一个getter方法初始化的第一个属性也显示为null。但是当我将@Named注释更改为@ManagedBean时,我可以正确初始化值。
答案 0 :(得分:2)
确保导入正确的包。如果您将CDI与@Named
一起使用,则需要导入javax.enterprise.context.RequestScoped;
。但是,如果您使用@ManagedBean
,则需要导入javax.faces.bean.RequestScoped;