В web.xml
есть несколько JavaServer Faces <context-param>
: facelets.REFRESH_PERIOD
, facelets.DEVELOPMENT
, facelets.SKIP_COMMENTS
и т.д. Где я могу найти полный список всех этих параметров?
Обзор всех связанных с JSF имен и значений параметров контекста web.xml
Ответ 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, не должны выполняться во время выполнения.
javax.faces.FACELETS_LIBRARIES
- Если этот параметр установлен, среда выполнения должна интерпретировать ее как точку с запятой (;) разделенный список путей, начиная с "/" (без кавычек). Время выполнения должно интерпретировать каждую запись в списке как путь относительно корня веб-приложения и интерпретировать файл, найденный на этом пути, в виде библиотеки тегов facelet, соответствующей схема, объявленная в разделе 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
, с конструктором без аргументов. Эти декораторы будут загружается, когда первый запрос для представления Facelet VDL попадает вViewHandler
для компиляции страницы. Время выполнения также следует учитывать имя параметраfacelets.DECORATORS
param как псевдоним этого имени параметра для обратного совместимость с существующими библиотеками тегов facelets.
javax.faces.FACELETS_REFRESH_PERIOD
- Когда запрашивается страница, какой интервал в секундах должен компилятор проверить изменения. Если вы не хотите, чтобы компилятор проверял изменения после компоновки страницы, используйте значение -1. Установка низкого периода обновления помогает во время разработки иметь возможность редактировать страницы в запущенном режиме application.Среда выполнения также должна учитывать имя параметра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
- разрешить веб-приложению определять альтернативный суффикс для Facelet XHTML-страницы, содержащие содержимое JSF. См. Javadocs для символической константыViewHandler.FACELETS_SUFFIX_PARAM_NAME
для полной спецификации.
javax.faces.FACELETS_VIEW_MAPPINGS
- Если этот параметр установлен, среда выполнения должна интерпретировать ее как точку с запятой (;) разделенный список строк, который используется для принудительного объявления того, что определенные страницы в приложении должны интерпретироваться как используя Facelets, независимо от их расширения. Время выполнения также должно учитыватьfacelets.VIEW_MAPPINGS
param name как псевдоним этого имени параметра для обратной совместимости с существующими приложениями 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)
и продолжить обработку с использованием null в качестве текущего переданного значения
javax.faces.LIFECYCLE_ID
- идентификатор жизненного цикла экземпляраLifecycle
, который будет использоваться при обработке Запросы JSF для этого веб-приложения. Если не указано, экземпляр по умолчанию JSF, указанныйLifecycleFactory.DEFAULT_LIFECYCLE
.
javax.faces.PARTIAL_STATE_SAVING
- Параметр initServletContext
, с которым выполняется время выполнения определить, следует ли использовать механизм сохранения частичного состояния. Если undefined, среда выполнения должна определять уровень версии приложения.
- Для приложений с версией 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 Beans Validation в текущей Окружающая среда. Если это так, время выполнения должно выполняться так, как если бы было указано значение "true
". Если JSR-303 Beans Проверка отсутствует в текущей среде, время выполнения больше всего работает так, как если бы было указано значение "false
". Если параметр не задан, система должна вести себя так, как если бы параметр был задан со значением "auto
".
javax.faces.validator.DISABLE_DEFAULT_BEAN_VALIDATOR
- Если этот параметр установлен, и вызовtoLowerCase().equals("true")
в представленииString
его значения возвращаетtrue
, время выполнения не должно автоматически добавить валидатор с идентификатором validator равным значению символьной константыjavax.faces.validator.VALIDATOR_ID
в список валидаторов по умолчанию. Установка этого параметра в значение true будет приводят к отключению автоматической установки Bean Проверка на каждый компонент ввода во всех представлениях в приложение, хотя ручная установка все еще возможна.Реализации JSF могут выбрать поддержку дополнительных параметров конфигурации, а также дополнительные механизмы для настроить реализацию JSF; однако приложения, которые полагаются на эти объекты, не будут переноситься на другие JSF реализации.
Как вы можете прочитать в последнем абзаце, реализации JSF могут также иметь свой собственный набор параметров контекста. Для Mojarra, которые начинаются с com.sun.faces.
, которые перечислены в этом блоге: Какие параметры контекста Mojarra доступны? Для MyFaces, которые начинаются с org.apache.myfaces.
которые также перечислены на их собственном сайте: Документация MyFaces - Параметры веб-контекста.