Обзор всех имен и значений параметров контекста web.xml, связанных с JSF

Есть несколько JavaServer Faces <context-param> в web.xml: facelets.REFRESH_PERIOD, facelets.DEVELOPMENT, facelets.SKIP_COMMENTS и т.д. Где я могу найти полный список всех этих параметров?

1 ответ

Решение

Прежде всего те, которые начинаются с facelets. это не контекстные параметры JSF, а контекстные параметры Facelets 1.x. Ранее, в эпоху JSF 1.x, Facelets не были интегрированы как часть JSF. Однако, начиная с JSF 2.0, Facelets интегрированы как часть JSF, заменяя устаревшую JSP в качестве технологии представления по умолчанию, и большинство параметров контекста Facelets 1.x были переназначены в параметры контекста JSF 2.x.

Реальные имена параметров контекста JSF начинаются с javax.faces., Они перечислены в главе 11.1.3 спецификации JSF. Вот выдержка из спецификации JSF 2.0:

11.1.3 Параметры конфигурации приложения

Контейнеры сервлетов поддерживают параметры конфигурации приложения, которые можно настроить, включив <context-param> элементы в дескрипторе развертывания веб-приложения. Все реализации JSF должны поддерживать следующие имена параметров конфигурации приложения:

  • javax.faces.CONFIG_FILES - Разделенный запятыми список относительных к контексту путей ресурсов, по которым реализация JSF будет искать ресурсы конфигурации приложения (см. Раздел 11.4.4 "Формат ресурса конфигурации приложения") перед загрузкой ресурса конфигурации с именем "/WEB-INF/faces-config.xml"(Если такой ресурс существует). Если "/WEB-INF/faces-config.xml"Присутствует в списке, его следует игнорировать.

  • javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE - Если этот параметр установлен, и вызов toLowerCase().equals("true") на String представление его значения возвращается true, Application.createConverter() должен гарантировать, что по умолчанию для часового пояса всех javax.faces.convert.DateTimeConverter случаи должны быть равны TimeZone.getDefault() вместо "GMT".

  • javax.faces.DEFAULT_SUFFIX - Разрешить веб-приложению определять альтернативный суффикс для страниц JSP, содержащих контент JSF. См. Javadocs для символической константы ViewHandler.DEFAULT_SUFFIX_PARAM_NAME для полной спецификации.

  • javax.faces.DISABLE_FACELET_JSF_VIEWHANDLER - Если этот параметр установлен, и вызов toLowerCase().equals("true") на String представление его значения возвращается true, по умолчанию ViewHandler должен вести себя так, как указано в последней версии 1.2 этой спецификации. Любое поведение, указанное в разделе 7.5 "ViewHandler" и реализованное по умолчанию ViewHandler это относится к обработке запросов для страниц, созданных на языке декларации JavaServer Faces View, не должно выполняться во время выполнения.

  • javax.faces.FACELETS_LIBRARIES - Если этот параметр установлен, среда выполнения должна интерпретировать его как список путей, разделенных точкой с запятой (;), начиная с "/" (без кавычек). Среда выполнения должна интерпретировать каждую запись в списке как путь относительно корня веб-приложения и интерпретировать файл, найденный по этому пути, как библиотеку тегов лицевой стороны, в соответствии со схемой, объявленной в разделе 1.1 "Определение схемы XML для файла ресурсов конфигурации приложения". и выставить теги в соответствии с Разделом 10.3.2 "Механизм библиотеки тегов Facelet". Среда выполнения также должна учитывать facelets.LIBRARIES имя параметра как псевдоним этого имени параметра для обратной совместимости с существующими библиотеками тегов facelets.

  • javax.faces.FACELETS_BUFFER_SIZE - Размер буфера, чтобы установить на ответ, когда ResponseWriter генерируется. По умолчанию значение равно -1, что не будет назначать размер буфера в ответе. Это следует увеличить, если вы используете режим разработки, чтобы гарантировать, что ответ не будет частично обработан при возникновении ошибки. Среда выполнения также должна учитывать facelets.BUFFER_SIZE имя параметра как псевдоним этого имени параметра для обратной совместимости с существующими библиотеками тегов facelets.

  • javax.faces.DECORATORS - разделенный точкой с запятой (;) список имен классов типа javax.faces.view.facelets.TagDecorator, с конструктором без аргументов. Эти декораторы будут загружены, когда первый запрос для представления Facelets VDL достигнет ViewHandler для компиляции страницы. Среда выполнения также должна учитывать facelets.DECORATORS имя параметра как псевдоним этого имени параметра для обратной совместимости с существующими библиотеками тегов facelets.

  • javax.faces.FACELETS_REFRESH_PERIOD - Когда запрашивается страница, какой интервал в секундах должен проверять компилятор на наличие изменений. Если вы не хотите, чтобы компилятор проверял изменения после компиляции страницы, используйте значение -1. Установка низкого периода обновления помогает во время разработки иметь возможность редактировать страницы в работающем приложении. Среда выполнения также должна учитывать facelets.REFRESH_PERIOD имя параметра как псевдоним этого имени параметра для обратной совместимости с существующими библиотеками тегов facelets.

  • javax.faces.FACELETS_RESOURCE_RESOLVER - Если этот параметр установлен, среда выполнения должна интерпретировать его значение как полное имя класса Java-класса, который расширяется. javax.faces.view.facelets.ResourceResolver и имеет открытый конструктор с нулевым аргументом или открытый конструктор с одним аргументом, где тип аргумента ResourceResolver, Если этот параметр установлен и его значение не соответствует этим требованиям, среда выполнения должна записать сообщение и продолжить. Если он соответствует этим требованиям и имеет конструктор с одним аргументом, по умолчанию ResourceResolver должен быть передан в конструктор. Если он имеет конструктор с нулевым аргументом, он вызывается напрямую. В любом случае, новый ResourceResolver заменяет старый. Среда выполнения также должна учитывать facelets.RESOURCE_RESOLVER имя параметра как псевдоним этого имени параметра для обратной совместимости с существующими библиотеками тегов facelets.

  • javax.faces.FACELETS_SKIP_COMMENTS - Если этот параметр установлен, и вызов toLowerCase().equals("true") на String представление его значения возвращается trueсреда выполнения должна гарантировать, что любые комментарии XML на исходной странице Facelets не будут доставлены клиенту. Среда выполнения также должна учитывать facelets.SKIP_COMMENTS имя параметра как псевдоним этого имени параметра для обратной совместимости с существующими библиотеками тегов facelets.

  • javax.faces.FACELETS_SUFFIX - Разрешить веб-приложению определять альтернативный суффикс для страниц XHTML на основе Facelet, содержащих контент JSF. См. Javadocs для символической константы ViewHandler.FACELETS_SUFFIX_PARAM_NAME для полной спецификации.

  • javax.faces.FACELETS_VIEW_MAPPINGS - Если этот параметр установлен, среда выполнения должна интерпретировать его как разделенный точкой с запятой (;) список строк, который используется для принудительного объявления того, что определенные страницы в приложении должны интерпретироваться как использование Facelets, независимо от их расширения. Среда выполнения также должна учитывать facelets.VIEW_MAPPINGS имя параметра как псевдоним этого имени параметра для обратной совместимости с существующими приложениями Facelets. См. Javadocs для символической константы ViewHandler.FACELETS_VIEW_MAPPINGS_PARAM_NAME для полной спецификации.

  • javax.faces.FULL_STATE_SAVING_VIEW_IDS - Среда выполнения должна интерпретировать значение этого параметра как разделенный запятыми список идентификаторов представлений, каждый из которых должен сохранять свое состояние, используя механизм сохранения состояния, указанный в JSF 1.2.

  • javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL - Если этот параметр установлен, и вызов toLowerCase().equals("true") на String представление его значения возвращается trueлюбая реализация UIInput.validate() Необходимо предпринять следующие дополнительные действия. Если javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL значение параметра контекста true (без учета регистра) и UIInput.getSubmittedValue() возвращает нулевую длину String вызов UIInput.setSubmittedValue(null) и продолжить обработку, используя ноль в качестве текущего переданного значения

  • javax.faces.LIFECYCLE_ID - Идентификатор жизненного цикла Lifecycle экземпляр, который будет использоваться при обработке запросов JSF для этого веб-приложения. Если не указан, экземпляр JSF по умолчанию, обозначенный LifecycleFactory.DEFAULT_LIFECYCLE, должен быть использован.

  • javax.faces.PARTIAL_STATE_SAVING --The ServletContext Параметр init используется во время выполнения, чтобы определить, следует ли использовать механизм частичного сохранения состояния. Если значение не определено, среда выполнения должна определять уровень версии приложения.

    • Для приложений версии 1.2 и ниже среда выполнения не должна использовать механизм частичного сохранения состояния.
    • Для приложений версии 2.0 и выше среда выполнения должна использовать механизм частичного сохранения состояния.

    Если этот параметр определен, а приложение имеет версию 1.2 и ниже, среда выполнения не должна использовать механизм частичного сохранения состояния. В противном случае, если этот параметр определен, и вызов toLowerCase().equals("true") на String представление его значения возвращается trueсреда выполнения должна использовать механизм частичного состояния. В противном случае механизм частичного сохранения состояния не должен использоваться.

  • javax.faces.PROJECT_STAGE - Удобочитаемая строка, описывающая, где находится данное конкретное приложение JSF в жизненном цикле разработки программного обеспечения. Допустимые значения: "Development","UnitTest","SystemTest", или же "Production", Соответствующие константы перечисления класса javax.faces.application.ProjectStage, Также возможно установить это значение через JNDI. Смотрите Javadocs для Application.getProjectStage(),

  • javax.faces.STATE_SAVING_METHOD - Место, где сохраняется информация о состоянии. Допустимые значения: "server"(Обычно сохраняется в HttpSession) а также "client"(Обычно сохраняется как скрытое поле в последующей форме отправки). Если не указано, значение по умолчанию "server" должен быть использован.

  • javax.faces.VALIDATE_EMPTY_FIELDS - Если этот параметр установлен, и вызов toLowerCase().equals("true") на String представление его значения возвращается trueВсе отправленные поля будут проверены. Это необходимо для того, чтобы валидатор модели мог решить, допустимы ли нулевые или пустые значения в текущем приложении. Если значение falseПустые или пустые значения не будут переданы валидаторам. Если значением является строка "auto”, Среда выполнения должна проверить, присутствует ли проверка компонентов JSR-303 в текущей среде. Если это так, среда выполнения должна действовать так, как если бы значение "trueБыло указано. Если в текущей среде отсутствует проверка компонентов JSR-303, среда выполнения в большинстве случаев работает так, как если бы значение "falseБыло указано. Если параметр не установлен, система должна вести себя так, как если бы параметр был установлен со значением "auto".

  • javax.faces.validator.DISABLE_DEFAULT_BEAN_VALIDATOR - Если этот параметр установлен, и вызов toLowerCase().equals("true") на String представление его значения возвращается trueсреда выполнения не должна автоматически добавлять валидатор с id валидатора, равным значению символической константы javax.faces.validator.VALIDATOR_ID к списку валидаторов по умолчанию. Установка для этого параметра значения true приведет к отключению автоматической установки Bean Validation для каждого компонента ввода в каждом представлении приложения, хотя ручная установка все еще возможна.

Реализации JSF могут выбрать поддержку дополнительных параметров конфигурации, а также дополнительных механизмов для настройки реализации JSF; однако приложения, использующие эти возможности, не будут переносимы на другие реализации JSF.

Как вы можете прочитать в последнем абзаце, реализации JSF также могут иметь свой собственный набор параметров контекста. Для Мохарры, которые начинаются с com.sun.faces. которые перечислены в этом блоге: Какие параметры контекста Mojarra доступны? Для MyFaces, которые начинаются с org.apache.myfaces. которые также перечислены на их собственном сайте: Документация MyFaces - Параметры веб-контекста.

Другие вопросы по тегам