Descripción general de todos los nombres y valores de los parámetros de contexto web.xml relacionados con JSF
context-param (1)
Hay varias JavaServer Faces <context-param>
en web.xml
: facelets.REFRESH_PERIOD
, facelets.DEVELOPMENT
, facelets.SKIP_COMMENTS
, etc. ¿Dónde puedo encontrar una lista completa de todos esos params?
Primero que nada, aquellos que comienzan con facelets.
no son parámetros de contexto JSF, sino facelets.java.net/nonav/docs/dev/… parámetros de contexto. Anteriormente, durante la era de JSF 1.x, Facelets no estaba integrado como parte de JSF. Sin embargo, desde JSF 2.0, Facelets se integra como parte de JSF, reemplazando a JSP heredado como la tecnología de vista predeterminada, y la mayoría de los parámetros de contexto de Facelets 1.x se reasignaron a los parámetros de contexto de JSF 2.x.
Los nombres reales de los parámetros del contexto JSF comienzan con javax.faces.
. Se enumeran en el capítulo 11.1.3 de la especificación JSF . Aquí hay un extracto de relevancia de la especificación JSF 2.0:
11.1.3 Parámetros de configuración de la aplicación
Los contenedores de servlets admiten parámetros de configuración de la aplicación que pueden personalizarse incluyendo elementos
<context-param>
en el descriptor de despliegue de la aplicación web. Todas las implementaciones JSF son necesarias para admitir los siguientes nombres de parámetros de configuración de la aplicación:
javax.faces.CONFIG_FILES
- Lista delimitada por comas de rutas de recursos relativas al contexto bajo las cuales la implementación JSF buscará recursos de configuración de la aplicación (consulte la Sección 11.4.4 "Formato del recurso de configuración de la aplicación") antes de cargar un recurso de configuración llamado "/WEB-INF/faces-config.xml
"(si tal recurso existe). Si "/WEB-INF/faces-config.xml
" está presente en la lista, debe ignorarse.
javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE
- Si este parámetro está establecido, y al invocartoLowerCase().equals("true")
en una representación deString
de su valor devuelvetrue
,Application.createConverter()
debe garantizar que el valor predeterminado para la zona horaria de todosjavax.faces.convert.DateTimeConverter
instancias dejavax.faces.convert.DateTimeConverter
deben ser iguales aTimeZone.getDefault()
lugar de "GMT
".
javax.faces.DEFAULT_SUFFIX
:javax.faces.DEFAULT_SUFFIX
la aplicación web defina un sufijo alternativo para páginas JSP que contengan contenido JSF. Consulte los javadocs de la constante simbólicaViewHandler.DEFAULT_SUFFIX_PARAM_NAME
para obtener la especificación completa.
javax.faces.DISABLE_FACELET_JSF_VIEWHANDLER
- Si este parámetro está configurado, y llamandotoLowerCase().equals("true")
en una representación deString
de su valor devuelvetrue
, elViewHandler
predeterminado debe comportarse como se especifica en la última versión 1.2 de esta especificación . Cualquier comportamiento especificado en la Sección 7.5 "ViewHandler" e implementado en elViewHandler
predeterminado que se relaciona con el manejo de solicitudes para páginas creadas en JavaServer Faces View Declaration Language no debe ser ejecutado por el tiempo de ejecución.
javax.faces.FACELETS_LIBRARIES
- Si se establece este parámetro, el tiempo de ejecución debe interpretarlo como una lista de rutas separadas por punto y coma (;), comenzando con "/" (sin las comillas). El tiempo de ejecución debe interpretar cada entrada en la lista como una ruta relativa a la raíz de la aplicación web e interpretar el archivo encontrado en esa ruta como biblioteca de etiquetas facelet, conforme al esquema declarado en la Sección 1.1 "Definición de esquema XML para el archivo de recursos de configuración de la aplicación" y exponer las etiquetas en el mismo de acuerdo con la Sección 10.3.2 "Mecanismo de la Biblioteca de etiquetas de Facelet". El tiempo de ejecución también debe considerar losfacelets.LIBRARIES
param name como un alias de este nombre de param para la compatibilidad con las bibliotecas de etiquetas facelets existentes.
javax.faces.FACELETS_BUFFER_SIZE
: el tamaño del búfer que se establece en la respuesta cuando se genera elResponseWriter
. Por defecto, el valor es -1, que no asignará un tamaño de búfer a la respuesta. Esto debería incrementarse si está utilizando el modo de desarrollo para garantizar que la respuesta no se represente parcialmente cuando se genera un error. El tiempo de ejecución también debe considerar lasfacelets.BUFFER_SIZE
nombre defacelets.BUFFER_SIZE
como alias de este nombre de param para la compatibilidad con las bibliotecas de etiquetas facelets existentes.
javax.faces.DECORATORS
- Una lista delimitada por punto y coma (;) de nombres de clase de tipojavax.faces.view.facelets.TagDecorator
, con un constructor sin argumentos. Estos decoradores se cargarán cuando la primera solicitud de una vista de Facelets VDLViewHandler
alViewHandler
para la compilación de la página. El tiempo de ejecución también debe considerar el nombre delfacelets.DECORATORS
como un alias de este param para compatibilidad con las bibliotecas de etiquetas de facelets existentes.
javax.faces.FACELETS_REFRESH_PERIOD
: cuando se solicita una página, ¿qué intervalo en segundos debe comprobar el compilador para ver los cambios? Si no desea que el compilador compruebe los cambios una vez que se compila la página, utilice un valor de -1. Establecer un período de actualización bajo ayuda durante el desarrollo para poder editar páginas en una aplicación en ejecución. El tiempo de ejecución también debe considerar lasfacelets.REFRESH_PERIOD
param name como alias de este nombre de param para compatibilidad con las bibliotecas de etiquetas de facelets existentes.
javax.faces.FACELETS_RESOURCE_RESOLVER
- Si se establece este parámetro, el tiempo de ejecución debe interpretar su valor como un nombre de clase totalmente calificado de una clase java que amplíajavax.faces.view.facelets.ResourceResolver
y tiene un argumento público de cero argumento o un argumento único constructor público donde el tipo del argumento esResourceResolver
. Si este parámetro está configurado y su valor no cumple con esos requisitos, el tiempo de ejecución debe registrar un mensaje y continuar. Si cumple con estos requisitos y tiene un constructor de un argumento, elResourceResolver
predeterminado debe pasarse al constructor. Si tiene un constructor de argumento cero, se invoca directamente. En cualquier caso, el nuevoResourceResolver
reemplaza al anterior. El tiempo de ejecución también debe tener en cuenta lasfacelets.RESOURCE_RESOLVER
param name como alias de este nombre de param para compatibilidad con las bibliotecas de etiquetas facelets existentes.
javax.faces.FACELETS_SKIP_COMMENTS
: si este parámetro está establecido, y al invocartoLowerCase().equals("true")
en una representación deString
de su valor devuelvetrue
, el tiempo de ejecución debe garantizar que los comentarios XML en la página fuente de Facelets no sean entregado al cliente. El tiempo de ejecución también debe considerar losfacelets.SKIP_COMMENTS
nombre de param como un alias de este nombre de param para la compatibilidad con las bibliotecas de etiquetas facelets existentes.
javax.faces.FACELETS_SUFFIX
:javax.faces.FACELETS_SUFFIX
la aplicación web defina un sufijo alternativo para páginas XHTML basadas en Facelet que contengan contenido JSF. Consulte los javadocs de la constante simbólicaViewHandler.FACELETS_SUFFIX_PARAM_NAME
para obtener la especificación completa.
javax.faces.FACELETS_VIEW_MAPPINGS
- Si se establece este parámetro, el tiempo de ejecución debe interpretarlo como una lista separada de punto y coma (;) que se utiliza para declarar forzosamente que ciertas páginas de la aplicación deben interpretarse como si se tratara de Facelets, independientemente de su extensión. El tiempo de ejecución también debe considerar lasfacelets.VIEW_MAPPINGS
nombre de param como un alias de este nombre de param para la compatibilidad con versiones anteriores de las aplicaciones de facelets. Consulte los javadocs de la constante simbólicaViewHandler.FACELETS_VIEW_MAPPINGS_PARAM_NAME
para obtener la especificación completa.
javax.faces.FULL_STATE_SAVING_VIEW_IDS
- El tiempo de ejecución debe interpretar el valor de este parámetro como una lista de identificadores de vista separados por comas, cada uno de los cuales debe tener su estado guardado utilizando el mecanismo de ahorro de estado especificado en JSF 1.2.
javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL
- Si se establece este parámetro, y llamandotoLowerCase().equals("true")
en una representación deString
de su valor devuelvetrue
, cualquier implementación deUIInput.validate()
debe realizar la siguiente acción adicional. Si el valor del parámetro de contextojavax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL
estrue
(ignorando el caso), yUIInput.getSubmittedValue()
devuelve una llamada deString
longitud ceroUIInput.setSubmittedValue(null)
y continúa procesando usando null como el valor enviado actual
javax.faces.LIFECYCLE_ID
: identificador de ciclo deLifecycle
instancia deLifecycle
que se utilizará al procesar solicitudes JSF para esta aplicación web. Si no se especifica, se debe usar la instancia predeterminada de JSF, identificada porLifecycleFactory.DEFAULT_LIFECYCLE
.
javax.faces.PARTIAL_STATE_SAVING
- El parámetro init deServletContext
consultado por el tiempo de ejecución para determinar si se debe usar el mecanismo de ahorro de estado parcial. Si no está definido, el tiempo de ejecución debe determinar el nivel de versión de la aplicación.
- Para las aplicaciones versionadas en 1.2 y anteriores, el tiempo de ejecución no debe usar el mecanismo de ahorro de estado parcial.
- Para aplicaciones con versiones de 2.0 y superiores, el tiempo de ejecución debe usar el mecanismo de ahorro de estado parcial.
Si se define este parámetro, y la aplicación tiene una versión 1.2 o inferior, el tiempo de ejecución no debe usar el mecanismo de ahorro de estado parcial. De lo contrario, si se define este
toLowerCase().equals("true")
, y llamando atoLowerCase().equals("true")
en una representación deString
de su valor devuelvetrue
, el tiempo de ejecución debe utilizar el mecanismo de estado parcial. De lo contrario, no se debe usar el mecanismo de ahorro de estado parcial.
javax.faces.PROJECT_STAGE
- Una cadena legible por humanos que describe dónde está esta aplicación JSF en particular en el ciclo de vida de desarrollo de software. Los valores válidos son "Development
", "UnitTest
", "SystemTest
" o "Production
", que corresponden a las constantes enum de la clasejavax.faces.application.ProjectStage
. También es posible establecer este valor a través de JNDI. Consulte los javadocs paraApplication.getProjectStage()
.
javax.faces.STATE_SAVING_METHOD
: la ubicación donde se guarda la información de estado. Los valores válidos son "server
" (normalmente guardados enHttpSession
) y "client
" (generalmente guardados como un campo oculto en el siguiente envío de formulario). Si no se especifica, se debe usar el valor predeterminado "server
".
javax.faces.VALIDATE_EMPTY_FIELDS
- Si se establece este parámetro, y llamandotoLowerCase().equals("true")
en una representación deString
de su valor devuelvetrue
, todos los campos enviados serán validados. Esto es necesario para permitir que el validador de modelo decida si los valores nulos o vacíos son permitidos en la aplicación actual. Si el valor esfalse
, los valores nulos o vacíos no se pasarán a los validadores. Si el valor es la cadena "auto
", el tiempo de ejecución debe verificar si la validación JSR-303 Beans está presente en el entorno actual. Si es así, el tiempo de ejecución debe continuar como si se hubiera especificado el valor "true
". Si la Validación de Judías JSR-303 no está presente en el entorno actual, el tiempo de ejecución más procede como si se hubiera especificado el valor "false
". Si el parámetro no está configurado, el sistema debe comportarse como si el parametro se hubiera configurado con el valor "auto
".
javax.faces.validator.DISABLE_DEFAULT_BEAN_VALIDATOR
- Si este parámetro está establecido, y al invocartoLowerCase().equals("true")
en una representación deString
de su valor devuelvetrue
, el tiempo de ejecución no debe agregar automáticamente el validador con validator-id equal al valor de la constante simbólicajavax.faces.validator.VALIDATOR_ID
a la lista de validadores por defecto. Establecer este parámetro en true tendrá el efecto de deshabilitar la instalación automática de Bean Validation en cada componente de entrada en cada vista de la aplicación, aunque la instalación manual sigue siendo posible.Las implementaciones de JSF pueden optar por admitir parámetros de configuración adicionales, así como mecanismos adicionales para personalizar la implementación de JSF; sin embargo, las aplicaciones que dependen de estas instalaciones no serán portátiles para otras implementaciones de JSF.
Como puede leer en el último párrafo, las implementaciones de JSF también pueden tener su propio conjunto de parámetros de contexto. Para Mojarra, esos son los que comienzan con com.sun.faces.
que se enumeran en este blog: ¿Qué parámetros de contexto de Mojarra están disponibles? Para MyFaces que son los que comienzan con org.apache.myfaces.
que también se enumeran en su propio sitio: documentación de MyFaces - Parámetros de contexto web .