Я использую следующие:состояние ошибки с отображением диалогового управления
Domino Release 9.0.1FP4HF71,
ExtensionLibrary v16,
ApplicationLayout control with 'bootstrapResponsiveConfiguration',
theme: 'Bootstrap3.2.0_flat'
В конфигурации разметке управления макета приложения У меня есть basicLeafNode для диалогового окна входа в систему.
<xe:this.bannerUtilityLinks>
<xe:basicLeafNode label="Login" submitValue="Login">
<xe:this.onClick><![CDATA[XSP.openDialog("#{id:dialogLogin}");]]></xe:this.onClick>
</xe:basicLeafNode>
</xe:this.bannerUtilityLinks>
Вот разметка со свойствами для моего loginDialog:
<xe:dialog id="dialogLogin" title="Sign In" preventCache="true"
preload="true" keepComponents="false" partialRefresh="true"
extractContent="true">
...
</xe:dialog>
В основном, когда я нажимаю ссылку Login
я получил это диалоговое окно:
Он отлично работает. Проблема возникает, когда я открываю эту страницу позже после истечения времени ожидания сеанса (или что-то еще не так). Во-первых, управление компоновкой приложений отображает список утилит для «ранее зарегистрированного пользователя» (с именем пользователя и Logout
), а затем он сразу же «обновился» со ссылками для анонимного пользователя (Login
и Sign up
).
Если я нажимаю Login
сейчас, то я получаю пустой диалог с заголовком только:
login dialog with empty content part
и следующее сообщение в консоли сервера:
HTTP JVM: WARNING: CLFAD####W: State data not available for /index because no control tree was found in the cache.
Я пытался изменить свойства для диалогаLogLogin с разными значениями, изменить значение viewState
на nostate
и закрепить xsp.application.timeout
и xsp.session.timeout
связей. Но похоже, что я здесь никакого влияния.
После полного обновления страницы мой диалог снова работает отлично.
Любые предложения.
Заранее спасибо.
Как определить, что сеанс HTTP отключен? Есть ли способ, который, если HTTP-сеанс тайм-аута, затем информирует пользователя о повторном входе в систему или перенаправляет его на страницу входа в систему. –
Paul, есть ли способ перестроить диалог за один раз без обновления страницы? Возможно, это можно сделать в какой-то фазе жизненного цикла jsf, но я недостаточно разбираюсь в этом. Можете ли вы сказать, кто печатает сообщение «Данные о состоянии недоступны»? Это код управления компоновкой приложений? –
@PrashantArkal не с XPages, если приложение не является анонимным доступом.В противном случае любой вызов будет запрашивать аутентификацию через HTTP для доступа к XPage, прежде чем он сможет создать дерево компонентов для этого XPage. –