我有两个Session作用域bean。
import javax.inject.Named;
import javax.enterprise.context.SessionScoped;
import java.io.Serializable;
@Named
@SessionScoped
public class PollsBean implements Serializable {
private long id;
private String title;
......
get...
set...
}
import javax.enterprise.context.SessionScoped;
import javax.inject.Inject;
import javax.inject.Named;
import java.io.Serializable;
@Named
@SessionScoped
public class ChartBean implements Serializable {
@Inject private PollsBean currentPoll;
...
public void someMethod(){
Long curid = currentPoll.getId();
}
}
因此,当我打开使用PollsBean的页面时,所有工作正常,所有bean字段都被初始化。之后,我转到第二页,它使用ChartBean并调用someemethod(),并获得NullPointerException。为什么我不能使用初始化SessionScoped Bean?
谢谢。
确保在你的META-INF或WEB-INF文件夹中有一个beans.xml文件。
http://docs.oracle.com/javaee/6/tutorial/doc/gjbnz.html