com.солнце.сталкиваться.enableRestoreView11Compatibility что использовать вместо JSF 1.2

когда у меня есть javax.сталкиваться.приложение.ViewExpiredException я хочу отправить пользователя на страницу входа.

web.в XML

...
    <context-param>
        <param-name>com.sun.faces.enableRestoreView11Compatibility</param-name>
        <param-value>true</param-value>
    </context-param>
...
 <error-page>
    <exception-type>javax.faces.application.ViewExpiredException</exception-type>
    <location>/errors/sessionExpired.jsf</location>
 </error-page>

sessionExpired.в JSF

....
<c:redirect url="/index.jsf" />

но enableRestoreView11Compatibility-это метод, который использовался в JSF 1.1, Что такое решение для JSF 1.2?

1 ответов


com.sun.faces.enableRestoreView11Compatibility - Это параметр JSF 1.2, который говорит JSF 1.2 вести себя как JSF 1.1.

com.sun.faces.enableRestoreView11Compatibility ==true означает "не бросайте ViewExpiredException; вместо этого, просто создайте новое представление, если старый истек."

на IBM notes на поведении JSF 1.1 скажите:

это может иметь неблагоприятное поведение, потому что это новое представление, и элементы, которые обычно находятся в представлении, такие как состояние, больше не существуют.

в поведение JSF 1.2 по умолчанию определяется в спец а это:

если запрос является обратным, называют ViewHandler.restoreView(), передает FacesContext экземпляр для текущего запроса и идентификатора представления и возврат UIViewRoot для восстановленного зрения. Если возвращение из ViewHandler.restoreView() равно null, бросьте ViewExpiredException С соответствующим сообщением об ошибке. класса javax.сталкиваться.приложение.ViewExpiredExceptionis aFacesException', который должен быть брошен, чтобы сигнализировать приложению, что ожидаемое представление не было возвращено для идентификатора представления. Приложение может выбрать выполнение некоторых действий на основе этого исключения.

иметь ViewExpiredException брошен, когда истекает срок действия представления,удалить com.sun.faces.enableRestoreView11Compatibility параметр, либо false.


на com.sun пространство имен предполагает, что параметр является настройкой Sun/Mojarra и производной реализацией, поэтому он, вероятно, не будет работать со всеми JSF реализации.