我有一个会话 bean
<managed-bean>
<managed-bean-name>vdcAddBean</managed-bean-name>
<managed-bean-class>com.cloud.appsportfolio.jsf.vdc.beans.VDCAddBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
现在,我将这个 bean 注入到一个请求中:
<managed-bean>
<managed-bean-name>providerSelectionBean</managed-bean-name>
<managed-bean-class>com.cloud.appsportfolio.jsf.sourcing.ProviderSelectionBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>vdcAddBean</property-name>
<property-class>com.cloud.appsportfolio.jsf.vdc.beans.VDCAddBean</property-class>
<value>#{sessionScope.vdcAddBean}</value>
</managed-property>
</managed-bean>
好吧,当我在providerSelectionBean
java 代码中访问 vdcAddBean 时,我收到一个 NPE,因为它还vdcAddBean
没有初始化。如果我首先进入我的菜单,在一个页面中,该页面vdcAddBean
在后端并返回providerSelectionBean
所有工作都很好,因为它似乎vdcAddBean
已经初始化。
问题是:访问bean时如何强制初始化vdcAddBean(如果它为null) ?providerSelectionBean
谢谢。