Как создать представление Scoped Bean в JSF 1.x?
-
09-10-2019 - |
Вопрос
У меня есть 2 Ссылки на веб-странице, ссылка на одну пинту в Appserver /? DEPT = 1, ссылка на два - Appserver /? Dept = 2. Тогда у меня есть слушатель фазы JSF, в котором я могу получить заднюю конечную фасоль и установить DEPT1 или DEPT2 в качестве параметра компонента компонента, чтобы сделать разное содержание отдела. Если пользователь запускает 2 Windows с вышеуказанной веб-страницы, содержимое окна DEPT1 может перейти к окну Dept2. Все испортилось. (Примечание, если вы запустите браузер из стола Touge Corn Cut, введите указанные выше ссылки, без проблем, поскольку будет создана 2 сеанса, 2 разных задних экземпляра бобовых фасолей).
Ключевой причиной является Beant bean jsf store bean в сеансе, тем самым 2 окна, которые из одного и того же родительского окна совместно поделились тем же идентификатором сеанса (cookie), затем использовали один и тот же экземпляр класса Close Close Bean. При необходимости результата результат может перейти к любому окну.
Как я могу избежать этого окна Cross Content Content? Это кажется фундаментальной проблемой веб-приложения, которая должна быть решить давно. Или я мог бы сделать все действительно неправильно.
Я попробовал преобразование на шов, не помогаю, JSF2.0 имеет вид, CDO. Доза это может помочь? Мы не можем перейти в JSF2.0, но из-за разной причины. Я использую Java6, Tomcat6.20, ледяные лица. Любая помощь присваивается.
Решение
В JSF 1.x, ваша лучшая ставка Tomahawk's. <t:saveState>
. Отказ Просто поместите его на страницу, где указанный запрос Scoped Bean должен быть сохранен в последующем запросе, который уволен самой такой же страницей, независимо от вкладки браузера / окна.
<t:saveState value="#{bean}" />
Это действует как JSF 2.0.
Другие советы
Ваша проблема легко можно решить с помощью разговоров на шов, вы можете посмотреть на приведенные примеры с пакетом шва. Вам необходимо изменить вашу поддержку Beaning Bean для разговора от сеанса и использования страниц. Также шов в книге действий объясняет этот случай с очень хорошими и краткими примерами.
Взгляни на Myfaces Orchestra.