1. 程式人生 > >JSF註冊ManagedBean的流程

JSF註冊ManagedBean的流程

1、本例的原始碼是sunJSF的實現:Mojarra 2.1.7 (SNAPSHOT 20120206)

2ManagedBean的初始化是由com.sun.faces.config.processor.ManagedBeanConfigProcessorprocess方法完成。

3ManagedBeanConfigProcessor呼叫了com.sun.faces.mgbean.BeanManagerregister(ManagedBeanInfo beanInfo)方法來註冊ManagedBean,手動註冊ManagedBean需要new一個com.sun.faces.mgbean.ManagedBeanInfo

物件。

4、如何得到BeanManager的例項?如下:

FacesContext context = FacesContext.getCurrentInstance();       

ExternalContext ec = context.getExternalContext();

ServletContext sc = (ServletContext)ec.getContext();

BeanManager beanManager =

              ApplicationAssociate.getInstance(sc).getBeanManager();

5ManagedBean

的一些相關屬性也是可以一併註冊的,屬性的資訊要放在ManagedBeanInfo物件中,具體請參看ManagedBeanInfo原始碼和ManagedBeanConfigProcessor原始碼。