com.sun.faces.enableRestoreView11Compatibility
- это настройка JSF 1.2, которая указывает JSF 1.2 вести себя как JSF 1.1.
com.sun.faces.enableRestoreView11Compatibility
== true
означает «не выбрасывать ViewExpiredException
; вместо этого просто создайте новое представление, если срок действия старого истек.»
IBM отмечает о поведении JSF 1.1 и говорит:
Это может иметь неблагоприятное поведение, потому что это новое представление, и элементы, которые обычно находятся в представлении, такие как состояние, больше не существуют.
Поведение JSF 1.2 по умолчанию определено в спецификации следующим образом:
Если запрос является обратной передачей, вызовите ViewHandler.restoreView()
, передав экземпляр FacesContext
для текущего запроса и идентификатор представления и вернув UIViewRoot
для восстановленного представления. Если возврат от ViewHandler.restoreView()
равен нулю, выведите ViewExpiredException
с соответствующим сообщением об ошибке. javax.faces.application.ViewExpiredException is a
FacesException`, который должен быть выдан, чтобы сигнализировать приложению, что ожидаемое представление не было возвращено для идентификатора представления. Приложение может выбрать выполнение некоторых действий на основе этого исключения.
Чтобы получить ViewExpiredException
после истечения срока действия представления, удалите параметр com.sun.faces.enableRestoreView11Compatibility
или установите его на false
.
Пространство имен com.sun
предполагает, что этот параметр является Sun / Mojarra и является производным от конкретной настройки, поэтому он, вероятно, не будет работать со всеми реализациями JSF.