Обзор всех имен и значений параметров контекста 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
--TheServletContext
Параметр 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 - Параметры веб-контекста.