Запустить несколько новых окон, но сохранить текущий вид - PullRequest
1 голос
/ 03 февраля 2012

У меня есть сессионный компонент сотрудника, у которого есть список связанных компонентов сотрудника того же класса. Мои пользователи должны иметь возможность просматривать «основного» сотрудника, и из этого сотрудника появляется несколько окон браузера для отображения информации о соответствующем сотруднике, но при этом поддерживается представление «основного» или «корневого» сотрудника, чтобы они могли продолжать работать с этого момента.

Я полагаю, что в настоящее время происходит то, что JSF откроет новое окно и отобразит связанного сотрудника, но затем потеряет отслеживание исходного окна / представления, поэтому, если вы нажмете на командную ссылку или запустите что-нибудь из исходного окна (после порождает новое окно, используя атрибут target в ссылке на команду) второе действие не будет запускаться или вызывать какие-либо методы в сессионном компоненте, оно, похоже, ничего не делает, кроме перезагрузки страницы. Я полагаю, потому что вы пытаетесь запустить действие из старого представления JSF, которое больше не регистрируется, поэтому, когда платформа получает запрос из этого устаревшего представления, она должна зарегистрироваться? может быть?

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

Пожалуйста, дайте мне знать, если у вас есть идеи. или если есть лучший способ сделать это.

1 Ответ

1 голос
/ 04 июля 2012

Извините за поздний ответ.

Я решил эту проблему, вызвав метод bean-компонента request с помощью ссылки на команду (и открыв ее в новом окне).Это позволило мне открыть несколько окон броузера (каждое новое обращение к бину запроса), не затрагивая мой «основной» бин сеанса сеанса.Пользователи могут просматривать сразу несколько сотрудников в нескольких окнах.Часть моей проблемы была связана с неправильным пониманием JSF.У меня может быть только один сессионный компонент "работник" в сеансе одновременно, поэтому, когда я пытался создать несколько окон браузера с разными сотрудниками, они все ссылались на один и тот же компонент сотрудника сеанса, который не будет работать.JSF присоединится к открытому новому окну и больше не будет знать об исходном открывающемся окне.

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

Извините из-за политики, я не могу опубликовать код

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...