com.sun.faces.enableRestoreView11Compatibility
es una configuración JSF 1.2 que le dice a JSF 1.2 que se comporte como JSF 1.1.
com.sun.faces.enableRestoreView11Compatibility
== true
significa "no arroje un ViewExpiredException
; en su lugar, simplemente cree una nueva vista si la anterior ha expirado".
El IBM notes sobre el comportamiento de JSF 1.1 decir:
Esto puede tener comportamientos adversos, ya que es un nuevo punto de vista, y los elementos que son por lo general en la vista, como el estado, ya no estará allí.
El valor predeterminado JSF 1.2 comportamiento se define en the spec como este:
Si la petición es una devolución de datos, llame ViewHandler.restoreView()
, pasando la instancia FacesContext
de la solicitud actual y la vista identificador, y el retorno de una UIViewRoot
para la vista restaurada. Si el resultado de ViewHandler.restoreView()
es nulo, arroje un ViewExpiredException
con un mensaje de error apropiado. javax.faces.application.ViewExpiredException is a
FacesException` que se debe lanzar para indicar a la aplicación que la vista esperada no se devolvió para el identificador de vista. Una aplicación puede elegir realizar alguna acción basada en esta excepción.
Para tener una ViewExpiredException
inicia cuando expira la vista, quitar el parámetro com.sun.faces.enableRestoreView11Compatibility
o se establece en false
.
com.sun
El espacio de nombres sugiere que el parámetro es un Sol/Mojarra y la configuración específica de la implementación derivada, por lo que probablemente no funcionará con todas las implementaciones de JSF.
Pensé que puedo usar ... para redirigir al usuario a la página de inicio de sesión, pero sin este parámetro de compatibilidad esto no funciona. Necesito escribir mi PhaseListener para hacer esta redirección, o tal vez hay alguna manera fácil. –
aindl
¿Esta configuración sigue siendo válida en JSF 2.2 o hay alguna otra opción? –