Область окна IceFaces не работает должным образом в некоторых браузерах
Я сталкиваюсь со странными проблемами при использовании области окна в IceFaces 3.3. Когда я помещаю операторы debug в конструктор и метод destroy (используя аннотацию pre-destroy), я вижу, что один и тот же компонент создается и уничтожается и создается заново, когда один пользователь перемещается между страницами. Я проверил журналы доступа на сервере Tomcat, и он показывает, что пользователь использует совместимый браузер, такой как IE8, и не открывает никаких новых вкладок, кроме навигации по страницам.
Каков жизненный цикл боба в области видимости. Что вызывает bean-компонент области окна для уничтожения?
Такое поведение не происходит последовательно в тех же браузерах. Это происходит для некоторых пользователей, использующих IE8, а не для других. Но в большинстве случаев, когда бин создается заново, кажется, что пользователь находится за каким-то прокси. Будет ли прокси вызывать такое поведение? но с другой стороны, сеанс пользователя остается действительным, т.е. сеанс, который отслеживает имя пользователя и т. д., остается неизменным между страницами.
Как можно решить эту проблему? Является ли область окна ненадежной?
1 ответ
Да, это ненадежно и, возможно, не служит целям видимости окна. Вам нужно реализовать собственную настраиваемую область, а не предопределенные ледяные грани #{window}
, Класс org.icefaces.application.WindowScopeManager
должен дать вам несколько советов о том, почему вы видите поведение.