我以前从未在 JSF 中创建过自定义组件,所以我现在才注意到encodeBegin()
,encodeEnd()
等方法接受FacesContext
参数。
FacesContext
实例通常可以用FacesContext.getCurrentInstance()
.
所以,我想知道这些方法是否有FacesContext
参数只是为了方便,或者可以在那里传递一些不同的对象(可能来自外部资源......)。如果后者是可能的,那么你能举个例子吗?
我以前从未在 JSF 中创建过自定义组件,所以我现在才注意到encodeBegin()
,encodeEnd()
等方法接受FacesContext
参数。
FacesContext
实例通常可以用FacesContext.getCurrentInstance()
.
所以,我想知道这些方法是否有FacesContext
参数只是为了方便,或者可以在那里传递一些不同的对象(可能来自外部资源......)。如果后者是可能的,那么你能举个例子吗?
它们可能碰巧在不同的线程中运行。FacesContext#getCurrentIsntance()
只能肯定从 HTTP 请求执行的线程返回,因为它存储为ThreadLocal
变量。