2010-04-26 2 views
1

Я еще не создал пользовательские компоненты в JSF, поэтому я заметил только теперь, что методы, такие как encodeBegin(), encodeEnd() и т. Д., Принимают параметр FacesContext.Почему методы encodeXxx в UIComponent принимают параметр FacesContext?

FacesContext экземпляр обычно может приниматься с FacesContext.getCurrentInstance().

Итак, я задаюсь вопросом, могут ли эти методы иметь параметр FacesContext только для удобства или могут быть переданы некоторые другие объекты (возможно, из внешних ресурсов ..). Если последнее возможно, вы могли бы привести пример PLS.

ответ

3

Возможно, они могут работать в другой теме. FacesContext#getCurrentIsntance() может быть обязательно возвращен из потока, который выполняется HTTP-запросом, поскольку он хранится как переменная ThreadLocal.

Смежные вопросы