FacesContext用于什么?

mee*_*nus 31 jsf facescontext jsf-2

什么FacesContext用于?

它究竟在哪里实施?

Mat*_*ndy 31

引自JSF 2.0规范的第6.1章:

FacesContext的

JSF定义了 javax.faces.context.FacesContext 抽象基类,用于表示与处理传入请求相关的所有上下文信息,并创建相应的响应.

FacesContext 实例由JSF实现创建的,在开始请求处理生命周期,通过向一个呼叫之前getFacesContext的方法 FacesContextFactory,如在第6.6节"的FacesContextFactory"中所述.

当请求处理生命周期完成后,JSF实现将调用release方法,这使JSF实现有机会释放任何获取的资源,以及池化和回收FacesContext实例,而不是为每个请求创建新的实例.

它在类中javax.faces.context.FacesContext和在类中实现的Mojarra中com.sun.faces.context.FacesContextImpl以及在类中实现的MyFaces中指定org.apache.myfaces.context.servlet.FacesContextImpl.

也可以看看:


Aal*_*ekh 6

每个新请求都会创建 FacesContext 的新实例。FacesContext 的主要任务是提供与其关联的特定请求相关的所有信息。例如:要在某些验证或转换失败后添加消息,您可以简单地将消息添加到 FacesContext,最终在屏幕上显示所需的消息。您还可以通过调用查看甚至随时停止 JSF 生命周期

    FacesContext.responseComplete();
Run Code Online (Sandbox Code Playgroud)


Mah*_*ili 5

FacesContext包含与单个JavaServer Faces请求的处理以及相应响应的呈现有关的所有每个请求状态信息。它被传递到请求处理生命周期的每个阶段,并可能被其修改。

通过调用与当前Web应用程序关联的FacesContextFactory实例的getFacesContext()方法,可以在请求处理的开始时将FacesContext实例与特定请求关联。该实例保持活动状态,直到调用其release()方法为止,此后不允许对该实例的进一步引用。当FacesContext实例处于活动状态时,除执行该Web应用程序的servlet容器用来处理此请求的线程外,不得从任何线程中引用该实例。

参考:

http://docs.oracle.com/javaee/6/api/javax/faces/context/FacesContext.html