Можно ли отправлять сообщения из контекста одного лица в другой в JSF? - PullRequest
0 голосов
/ 09 марта 2011

Я знаю о функции FacesContext.addMessage ().Тем не менее, что произойдет, если я в настоящее время нахожусь в другом контексте контекста, например в другом окне.

Есть ли какой-нибудь способ получить ссылку на другие объекты FacesContext, хранящиеся в текущем сеансе?

По сути, я хочу отправить сообщение из всплывающего окна родителю, однако у меня нет ссылки на родительский объект FacesContext.

1 Ответ

1 голос
/ 10 марта 2011

Это не совсем так работает. FacesContext - это не то, что обычно активно находится в ожидании внутри окна, которое уже было отрендерено.

FacesContext для определенного «окна» доступен только для потока, который обрабатывает запрос, который в конечном итоге отправляет ответ, содержащий HTML. Когда этот HTML-ответ получен, браузер просто отображает его. На данный момент нет никакого понятия о серверном FacesContext, все еще связанном с этим HTML.

С обратным AJAX (кометой), хотя возможно передавать контент с сервера конкретному клиенту. Поддерживающий компонент, связанный с такой передачей на стороне сервера, может быть приостановлен, и вы можете подождать некоторого события на стороне сервера. Шина CDI была бы здесь наиболее удобной, но в основном старомодное уведомление об объекте, совместно используемом через сеанс HTTP, также будет работать.

Поддерживающий компонент, связанный с всплывающим или любым другим окном по этому вопросу, может вызвать это событие.

...