Spec-Zone .ru
спецификации, руководства, описания, API
|
|
|||||||||
ПРЕДЫДУЩИЙ КЛАСС СЛЕДУЮЩИЙ КЛАСС | ФРЕЙМЫ НИКАКИЕ ФРЕЙМЫ | ||||||||
СВОДКА: ВЛОЖЕННЫЙ | ПОЛЕ | CONSTR | МЕТОД | ДЕТАЛЬ: ПОЛЕ | CONSTR | МЕТОД |
java.lang.Object javax.faces.application.ResourceHandler
public abstract class ResourceHandler
ResourceHandler является API времени выполнения который UIComponent
и Renderer
экземпляры могут сослаться Resource
экземпляры. Реализация этого class должна быть ориентирована на многопотоковое исполнение.
Упаковка Ресурсов
ResourceHandler определяет путь, базируемый, упаковывая соглашение для ресурсов. Реализация по умолчанию ResourceHandler
должен поддерживать ресурсы упаковки в пути к классу или в корне веб-приложения. См. раздел JSF.2.6.1 документа прозы спецификации, соединенного в сводке краткого обзора для нормативной спецификации упаковки ресурсов.
Кратко, реализация по умолчанию должна поддерживать ресурсы упаковки в корне веб-приложения под путем
resources/<resourceIdentifier>
относительно корня веб-приложения.
Для реализации по умолчанию ресурсы, упакованные в пути к классу, должны находиться под именем записи JAR
META-INF/resources/<resourceIdentifier>
<resourceIdentifier>
состоит из нескольких сегментов, определенных следующим образом.
[localePrefix/][libraryName/][libraryVersion/]resourceName[/resourceVersion]
Ни один из сегментов в resourceIdentifier не может быть относительными путями, такой как ‘../otherLibraryName’. Реализация не обязана поддерживать libraryVersion
и resourceVersion
сегменты для случая упаковки JAR.
Отметьте, что resourceName является единственным необходимым сегментом.
Кодирование Ресурсов
Во время обработки запросов представления время выполнения JSF может быть призвано, чтобы закодировать ресурс таким способом как, чтобы дать агенту пользователя команду обращаться с последующей просьбой ресурса. Это поведение организуется одним из средств рендеринга ресурса (ScriptRenderer
, StylesheetRenderer
, ImageRenderer
), который весь вызов Resource#getRequestPath
получить закодированный URI для ресурса. См. Resource#getRequestPath
и Стандартный HTML спецификация RenderKit для полной спецификации.
Декодирование Ресурсов
Во время обработки запросов ресурса время выполнения JSF будет призвано, чтобы декодировать ресурс таким способом как, чтобы подать байты ресурса к агенту пользователя. Это поведение организуется handleResourceRequest(javax.faces.context.FacesContext)
, который вызывает Resource#getInputStream
получить байты ресурса. См. handleResourceRequest(javax.faces.context.FacesContext)
для полной спецификации.
Полевая Сводка | |
---|---|
static java.lang.String |
LOCALE_PREFIX
Имя ключа в пределах приложения передает пакет, названный возвратом из |
static java.lang.String |
RESOURCE_EXCLUDES_DEFAULT_VALUE
Значение по умолчанию для |
static java.lang.String |
RESOURCE_EXCLUDES_PARAM_NAME
|
static java.lang.String |
RESOURCE_IDENTIFIER
|
Сводка конструктора | |
---|---|
ResourceHandler()
|
Сводка метода | |
---|---|
abstract Resource |
createResource(java.lang.String resourceName)
Создайте экземпляр |
abstract Resource |
createResource(java.lang.String resourceName, java.lang.String libraryName)
Создайте экземпляр |
abstract Resource |
createResource(java.lang.String resourceName, java.lang.String libraryName, java.lang.String contentType)
Создайте экземпляр |
abstract java.lang.String |
getRendererTypeForResourceName(java.lang.String resourceName)
Возвратитесь |
abstract void |
handleResourceRequest(FacesContext context)
Этот метод определяет контракт для того, чтобы удовлетворить запросы ресурса. |
abstract boolean |
isResourceRequest(FacesContext context)
Возвратиться |
abstract boolean |
libraryExists(java.lang.String libraryName)
Возвратиться |
Методы, наследованные от class java.lang. Объект |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Полевая Деталь |
---|
public static final java.lang.String RESOURCE_IDENTIFIER
Resource#getRequestPath
возвращает значение этой константы как префикс URI. handleResourceRequest(javax.faces.context.FacesContext)
ищет значение этой константы в пределах URI запроса, чтобы определить, является ли запрос запросом ресурса или запросом представления.
public static final java.lang.String LOCALE_PREFIX
Имя ключа в пределах приложения передает пакет, названный возвратом из Application#getMessageBundle
чье значение является префиксом локали, используемым, чтобы найти, что упакованный ресурс возвращается из createResource(java.lang.String)
(или одна из его разновидностей).
public static final java.lang.String RESOURCE_EXCLUDES_PARAM_NAME
ServletContext
параметр init, с которым консультируются handleResourceRequest(javax.faces.context.FacesContext)
сказать, какие виды ресурсов никогда не должны подаваться в ответ на запрос ресурса. Значение этого параметра является одинарным интервалом разделенный список расширений файла, включая ведущий '.' символ (без кавычек). Если не определенный, значение по умолчанию, данное в значении RESOURCE_EXCLUDES_DEFAULT_VALUE
постоянный используется. Если вручную определено, данное значение полностью переопределяет значение по умолчанию один и не добавляет его.
public static final java.lang.String RESOURCE_EXCLUDES_DEFAULT_VALUE
Значение по умолчанию для RESOURCE_EXCLUDES_PARAM_NAME
init param.
Деталь конструктора |
---|
public ResourceHandler()
Деталь метода |
---|
public abstract Resource createResource(java.lang.String resourceName)
Создайте экземпляр Resource
учитывая параметр resourceName
. Тип контента ресурса получается, передавая resourceName к ExternalContext.getMimeType(java.lang.String)
Алгоритм, определенный в разделе JSF.2.6.1.4 документа прозы спецификации, соединенного в сводке краткого обзора, должен быть выполнен, чтобы создать Resource
resourceName
- имя ресурса. Resource
экземпляр, подходящий для использования в кодировании или декодировании именованного ресурса. java.lang.NullPointerException
- если resourceName
null
.public abstract Resource createResource(java.lang.String resourceName, java.lang.String libraryName)
Создайте экземпляр Resource
с resourceName, данным значением параметра resourceName
это - элемент библиотеки, названной параметром libraryName
. Тип контента ресурса получается, передавая resourceName к ExternalContext.getMimeType(java.lang.String)
.
Алгоритм, определенный в разделе JSF.2.6.1.4 документа прозы спецификации, соединенного в сводке краткого обзора, должен быть выполнен, чтобы создать Resource
resourceName
- имя ресурса.libraryName
- имя библиотеки, в которой находится этот ресурс, может быть null
., Возможно, не включает относительные пути, такой как ".. /".
Resource
экземпляр, подходящий для использования в кодировании или декодировании именованного ресурса. NullPointerException
- если resourceName
null
public abstract Resource createResource(java.lang.String resourceName, java.lang.String libraryName, java.lang.String contentType)
Создайте экземпляр Resource
с resourceName, данным значением параметра resourceName
это - элемент библиотеки, названной параметром libraryName
это утверждает, что дало тип контента параметром content-type
.
Алгоритм, определенный в разделе JSF.2.6.1.4 документа прозы спецификации, соединенного в сводке краткого обзора, должен быть выполнен, чтобы создать Resource
resourceName
- имя ресурса.libraryName
- имя библиотеки, в которой находится этот ресурс, может быть null
., Возможно, не включает относительные пути, такой как ".. /".contentType
- контент пантомимы, что это Resource
экземпляр возвратится из Resource#getContentType
. Если значение null
, Тип контента ресурса получается, передавая resourceName к ExternalContext.getMimeType(java.lang.String)
Resource
экземпляр, подходящий для использования в кодировании или декодировании именованного ресурса. NullPointerException
- если resourceName
null
.public abstract boolean libraryExists(java.lang.String libraryName)
Возвратиться true
если библиотеку ресурса называет параметр libraryName
может быть найден.
public abstract void handleResourceRequest(FacesContext context) throws java.io.IOException
Этот метод определяет контракт для того, чтобы удовлетворить запросы ресурса. От этого метода вызывают FacesServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
после того, как тот метод решает, что текущий запрос является запросом ресурса, вызывая isResourceRequest(javax.faces.context.FacesContext)
. Таким образом, handleResourceRequest
может предположить, что текущий запрос является запросом ресурса.
Реализация по умолчанию должна реализовать алгоритм, семантически идентичный следующему алгоритму.
Для обсуждения, во всех случаях, когда код состояния должен быть установлен, эта спецификация переговоры только использование API Сервлета, но подразумевается, что в среде портлета соответствующий эквивалентный API должен использоваться.Если resourceIdentifier заканчивается каким-либо из расширений, перечисленных в значении RESOURCE_EXCLUDES_PARAM_NAME
параметр init, HttpServletRequest.SC_NOT_FOUND
к нужно передать HttpServletResponse.setStatus()
, тогда handleResourceRequest
должен сразу возвратиться.
Извлеките resourceName из resourceIdentifier, беря подстроку resourceIdentifier, который запускается в
и идет до конца resourceIdentifier. Если никакой resourceName не может быть извлечен, RESOURCE_IDENTIFIER
.length() + 1HttpServletRequest.SC_NOT_FOUND
к нужно передать HttpServletResponse.setStatus()
, тогда handleResourceRequest
должен сразу возвратиться.
Извлеките libraryName из запроса, смотря в карте параметра запроса для записи под ключом "ln" без кавычек. Если найдено, используйте его значение в качестве libraryName.
Если resourceName и libraryName присутствуют, вызвать createResource(String, String)
создать Resource
. Если только resourceName присутствует, вызвать createResource(String)
создать Resource
. Если Resource
не может быть успешно создан, HttpServletRequest.SC_NOT_FOUND
к нужно передать HttpServletResponse.setStatus()
, тогда handleResourceRequest
должен сразу возвратиться.
Вызвать Resource#userAgentNeedsUpdate
. Если этот метод возвращает false, HttpServletRequest.SC_NOT_MODIFIED
к нужно передать HttpServletResponse.setStatus()
, тогда handleResourceRequest
должен сразу возвратиться.
Передайте результат Resource#getContentType
к HttpServletResponse.setContentType.
Вызвать Resource#getResponseHeaders
. Для каждой записи в этом Map
, вызвать HttpServletResponse.setHeader()
, передача ключа как первый параметр и значение как второй параметр.
Вызвать Resource#getInputStream
и подайте байты ресурса к ответу.
Вызвать HttpServletResponse.setContentLength()
передача количества байта ресурса.
Если IOException
бросается во время любого из предыдущих шагов, зарегистрируйте дескриптивное, локализованное сообщение, включая resourceName и libraryName (если есть). Затем, HttpServletRequest.SC_NOT_FOUND
к нужно передать HttpServletResponse.setStatus()
, тогда handleResourceRequest
должен сразу возвратиться.
Во всех случаях в этом методе любые потоки, каналы, сокеты, или любые другие ресурсы IO должны быть закрыты перед этим методом возвраты.
context
- FacesContext
для этого запроса java.io.IOException
public abstract boolean isResourceRequest(FacesContext context)
Возвратиться true
если текущий запрос является запросом ресурса. Этим методом вызывают FacesServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
определить, является ли этот запрос запросом представления или запросом ресурса.
context
- FacesContext
для этого запроса true
если текущий запрос является запросом ресурса, false
иначе.public abstract java.lang.String getRendererTypeForResourceName(java.lang.String resourceName)
Возвратитесь renderer-type
для a Renderer
это способно к рендерингу этого ресурса. Реализация по умолчанию должна возвращаемые значения согласно следующей таблице. Если нет renderer-type
может быть определен, null
должен быть возвращен.
имя ресурса в качестве примера | тип средства рендеринга |
---|---|
mycomponent.js | javax.faces.resource.Script |
mystyle.css | javax.faces.resource.Stylesheet |
|
|||||||||
ПРЕДЫДУЩИЙ КЛАСС СЛЕДУЮЩИЙ КЛАСС | ФРЕЙМЫ НИКАКИЕ ФРЕЙМЫ | ||||||||
СВОДКА: ВЛОЖЕННЫЙ | ПОЛЕ | CONSTR | МЕТОД | ДЕТАЛЬ: ПОЛЕ | CONSTR | МЕТОД |
Авторское право © 2009-2011, Oracle Corporation и/или его филиалы. Все права защищены. Использование подвергается
Сгенерированный на 10-February-2011 12:41