Для чего используется FacesContext? - PullRequest
29 голосов
/ 03 мая 2011

Для чего используется FacesContext?

А где именно это реализовано?

Ответы [ 4 ]

29 голосов
/ 03 мая 2011

Цитата из главы 6.1 спецификации JSF 2.0 :

FacesContext

JSF определяет абстрактный базовый класс javax.faces.context.FacesContext для представления всей контекстной информациисвязан с обработкой входящего запроса и созданием соответствующего ответа.

Экземпляр FacesContext создается реализацией JSF до начала жизненного цикла обработки запроса путем вызова метода getFacesContext для FacesContextFactory, как описано в разделе 6.6 «FacesContextFactory».

Когда жизненный цикл обработки запроса будет завершен, реализация JSF вызовет метод release, который дает реализациям JSF возможность освободить любые полученные ресурсы, а также объединить и перезапустить экземпляры FacesContext вместо создания новых длякаждый запрос.

Указывается в классе javax.faces.context.FacesContext и в Моджарре, реализованном в классе com.sun.faces.context.FacesContextImpl, и в MyFaces, реализованном в классе org.apache.myfaces.context.servlet.FacesContextImpl.

См. Также:

5 голосов
/ 26 ноября 2013

FacesContext содержит всю информацию о состоянии каждого запроса, связанную с обработкой одного запроса JavaServer Faces и отображением соответствующего ответа.Он передается и может быть изменен на каждой фазе жизненного цикла обработки запроса.

Экземпляр FacesContext связан с конкретным запросом в начале обработки запроса путем вызова метода getFacesContext ()экземпляр FacesContextFactory, связанный с текущим веб-приложением.Экземпляр остается активным до вызова метода release (), после чего дальнейшие ссылки на этот экземпляр не допускаются.Пока экземпляр FacesContext активен, на него нельзя ссылаться ни из одного потока, кроме того, в котором контейнер сервлета, выполняющий это веб-приложение, использует для обработки этого запроса.

ссылка:

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

4 голосов
/ 16 сентября 2014

Новый экземпляр FacesContext создается с каждым новым запросом.Основная задача FacesContext - предоставить всю информацию, касающуюся конкретного запроса, с которым он связан.Например: чтобы добавить сообщения после определенного сбоя проверки или преобразования, вы можете просто добавить сообщение в FacesContext, который в конечном итоге отобразит желаемое сообщение на экране.Также вы можете посмотреть и даже остановить жизненный цикл JSF в любой момент, позвонив по номеру

    FacesContext.responseComplete();
2 голосов
/ 12 июля 2013

The FacesContext является узловой точкой для подключения к рамочному и контейнерные услуги. Например, вы можете получить базовые объекты httprequest и context для запроса страницы, получить доступ к вашему бину, пройдя через Facescontext. Тот включает контекст безопасности, под которым выполняется запрос веб-страницы.

Общая философия JSF заключается в том, что предоставляемые пользователем компоненты должен быть достаточно абстрактным, чтобы не зависеть от таких деталей, как они работают в традиционной среде JSP или что-то более экзотика, так что если в бине есть ссылка на Facescontext, это потенциальный признак плохого дизайна, тем более что ожидается, что бобы имейте вещи, введенные в них, не выходите, ища вещи.

Однако иногда по тем или иным причинам удобно из бина поддержки и получить отдаленную информацию, так что это там, если вам это нужно.

Ссылка: Для чего нужен контекстный объект Facescontext

...