У меня есть страница JSF, которая не защищена j_security_check
. Я выполняю следующие шаги:
- Откройте страницу JSF в браузере.
- Перезагрузите сервер.
- Нажмите кнопку командной строки на странице JSF, чтобы инициировать вызов ajax.
Firebug показывает, что a ViewExpiredException
поднят, как и ожидалось.
Сообщение:
javax.faces.ViewState=8887124636062606698:-1513851009188353364
Ответ:
<partial-response> <error> <error-name>class javax.faces.application.ViewExpiredException</error-name> <error-message>viewId:/viewer.xhtml - View /viewer.xhtml could not be restored.</error-message> </error> </partial-response>
Однако, как только я сконфигурирую страницу, которая будет защищена j_security_check
, и выполните те же действия, перечисленные выше, странно (для меня) ViewExpiredException
больше не будет поднят. Вместо этого ответ - это просто новое состояние представления.
Сообщение:
javax.faces.ViewState=-4873187770744721574:8069938124611303615
Ответ:
<partial-response> <changes> <update id="javax.faces.ViewState">234065619769382809:-4498953143834600826</update> </changes> </partial-response>
Может кто-нибудь помочь мне понять это? Я ожидаю, что это вызовет исключение, поэтому я могу обработать это исключение и показать страницу с ошибкой. Теперь он просто отвечает новым ViewState, моя страница просто застряла без какой-либо визуальной обратной связи.