jsf web.xml context-param

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 invocar toLowerCase().equals("true") en una representación de String de su valor devuelve true , Application.createConverter() debe garantizar que el valor predeterminado para la zona horaria de todos javax.faces.convert.DateTimeConverter instancias de javax.faces.convert.DateTimeConverter deben ser iguales a TimeZone.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ólica ViewHandler.DEFAULT_SUFFIX_PARAM_NAME para obtener la especificación completa.

  • javax.faces.DISABLE_FACELET_JSF_VIEWHANDLER - Si este parámetro está configurado, y llamando toLowerCase().equals("true") en una representación de String de su valor devuelve true , el ViewHandler 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 el ViewHandler 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 los facelets.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 el ResponseWriter . 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 las facelets.BUFFER_SIZE nombre de facelets.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 tipo javax.faces.view.facelets.TagDecorator , con un constructor sin argumentos. Estos decoradores se cargarán cuando la primera solicitud de una vista de Facelets VDL ViewHandler al ViewHandler para la compilación de la página. El tiempo de ejecución también debe considerar el nombre del facelets.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 las facelets.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ía javax.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 es ResourceResolver . 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, el ResourceResolver predeterminado debe pasarse al constructor. Si tiene un constructor de argumento cero, se invoca directamente. En cualquier caso, el nuevo ResourceResolver reemplaza al anterior. El tiempo de ejecución también debe tener en cuenta las facelets.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 invocar toLowerCase().equals("true") en una representación de String de su valor devuelve true , 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 los facelets.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ólica ViewHandler.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 las facelets.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ólica ViewHandler.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 llamando toLowerCase().equals("true") en una representación de String de su valor devuelve true , cualquier implementación de UIInput.validate() debe realizar la siguiente acción adicional. Si el valor del parámetro de contexto javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL es true (ignorando el caso), y UIInput.getSubmittedValue() devuelve una llamada de String longitud cero UIInput.setSubmittedValue(null) y continúa procesando usando null como el valor enviado actual

  • javax.faces.LIFECYCLE_ID : identificador de ciclo de Lifecycle instancia de Lifecycle 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 por LifecycleFactory.DEFAULT_LIFECYCLE .

  • javax.faces.PARTIAL_STATE_SAVING - El parámetro init de ServletContext 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 a toLowerCase().equals("true") en una representación de String de su valor devuelve true , 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 clase javax.faces.application.ProjectStage . También es posible establecer este valor a través de JNDI. Consulte los javadocs para Application.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 en HttpSession ) 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 llamando toLowerCase().equals("true") en una representación de String de su valor devuelve true , 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 es false , 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 invocar toLowerCase().equals("true") en una representación de String de su valor devuelve true , el tiempo de ejecución no debe agregar automáticamente el validador con validator-id equal al valor de la constante simbólica javax.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 .