Настройка SessionScope на XPage открыть

У меня есть Xpage с представлением внутри него, которое отображает результаты поиска, основанные на значениях 6 полей на странице xpage (эти значения назначаются переменным сессий при их выборе, что приводит к выбору представления при нажатии кнопки поиска). Все это работает хорошо, но я хотел бы изменить то, что представление пусто, когда xpage открывается изначально (до того, как будут установлены какие-либо значения).

Извиняюсь за простой вопрос, но я не касался заметок с 2006 года, и с тех пор он немного изменился.

Запуск 8.5.2.

2 ответа

Решение

Используйте viewScope вместо sessionScope.

ПеременныеviewScope существуют в течение текущего XPage в текущей вкладке браузера. Если вы откроете другой XPage или откроете текущий XPage на другой вкладке, значения переменных viewScope исчезнут. Это то, что вам нужно в вашем случае.

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

Каждый компонент создается, когда область действия "инициируется". Для sessionScope это при первом открытии сайта. Для viewScope это когда вы впервые открываете страницу (переживет частичное обновление). И переменные в этой области являются просто картами (то есть бобами) в этой области.

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

Или, если вы хотите использовать SSJS, вы можете добавить проверку при загрузке страницы (например, в событии beforePageLoad). Если вы работаете в sessionScope, вы должны проверить, установлено ли уже значение - а если нет -> установить его. В viewScope вы просто инициируете переменную.

И слово на предметах. Если это вообще возможно, вы всегда должны предпочитать "более короткие" временные рамки для целей производительности / масштабируемости. Посмотрите немного больше об использовании sessionScope в моей статье о настройке XPages:-)

/ John

Другие вопросы по тегам