Как изменить поведение калитки на странице истекло


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

Мобильная страница использует ajax и поэтому склонна получать ошибки" Page expired", например, когда мы перезапускаем приложение на сервер.

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

1 2

1 ответ:

Да,

getApplicationSettings().setPageExpiredErrorPage(YourPage.class)

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

Если вы хотите перезагрузить страницу, на которой был пользователь, то это становится немного менее тривиальным. Перезагрузка страницы невозможна, так как вы больше не находитесь на странице. Вы можете посмотреть на IRequestCycleListener и переопределить onException и обработать PageExpiredException самостоятельно, но это опасная дорога, по которой вы путешествуете, если вы просто перезагрузите страницу. Переход на главную (или другую) страницу кажется более логичным. Я предполагаю, что вы не перезапускаете свой сервер 100 раз в день...