Java 当我在托管bean的构造函数中调用来自其他bean的方法时
当我在托管bean的构造函数中并试图从其他bean中找到其他方法时,我得到了Java 当我在托管bean的构造函数中调用来自其他bean的方法时,java,jsf,jakarta-ee,managed-bean,Java,Jsf,Jakarta Ee,Managed Bean,当我在托管bean的构造函数中并试图从其他bean中找到其他方法时,我得到了java.lang.NullPointerException。是否有某种规范不允许托管bean这样做 @ManagedProperty(value="#{document}") private DisplayListController document; @EJB DocumentSBean sBean; public NewUserController() { document.list(); } 上
java.lang.NullPointerException
。是否有某种规范不允许托管bean这样做
@ManagedProperty(value="#{document}")
private DisplayListController document;
@EJB
DocumentSBean sBean;
public NewUserController() {
document.list();
}
上面我只是做普通的豆子注射,没什么特别的document
是一个SessionScoped
托管bean,其方法list()
只返回一个String
NewUserController
是一个RequestScoped
托管bean。您应该查看一个可以找到的示例
当您尝试访问属性时,未设置属性。您需要等待它们被设置。Bean管理通常包括:
public NewUserController() { }
@PostConstruct
public void init() {
document.list();
}
DisplayListController可能应该配置为使用list方法上的@PostConstruct注释调用自己的init方法