Для чего нужна библиотека ресурсов JSF и как ее использовать?

JSF<h:outputStylesheet>, <h:outputScript> а также<h:graphicImage> компоненты имеютlibrary приписывать. Что это такое и как это следует использовать? В Интернете есть много примеров, которые используют его следующим образом с общим типом содержимого / файла.css, js а такжеimg (или жеimage) в качестве имени библиотеки в зависимости от используемого тега:

<h:outputStylesheet library="css" name="style.css" />
<h:outputScript library="js" name="script.js" />
<h:graphicImage library="img" name="logo.png" />

Чем это полезно?library Значение в этих примерах, кажется, просто повторяет то, что уже представлено именем тега. Для<h:outputStylesheet> он основан на названии тега, которое уже очевидно, что оно представляет собой «библиотеку CSS». В чем разница со следующим, который также работает точно так же?

<h:outputStylesheet name="css/style.css" />
<h:outputScript name="js/script.js" />
<h:graphicImage name="img/logo.png" />

Кроме того, сгенерированный вывод HTML немного отличается. Учитывая контекстный путь/contextname а такжеFacesServlet сопоставление по шаблону URL*.xhtmlпервый формирует следующий HTML-код с именем библиотеки в качестве параметра запроса:

<link rel="stylesheet" type="text/css" href="/contextname/javax.faces.resource/style.css.xhtml?ln=css" />
<script type="text/javascript" src="/contextname/javax.faces.resource/script.js.xhtml?ln=js"></script>
<img src="/contextname/javax.faces.resource/logo.png.xhtml?ln=img" alt="" />

В то время как последний генерирует следующий HTML-код с именем библиотеки только в пути URI:

<link rel="stylesheet" type="text/css" href="/contextname/javax.faces.resource/css/style.css.xhtml" />
<script type="text/javascript" src="/contextname/javax.faces.resource/js/script.js.xhtml"></script>
<img src="/contextname/javax.faces.resource/img/logo.png.xhtml" alt="" />

Последний подход в ретроспективе также имеет больший смысл, чем первый. Как именноlibrary атрибут тогда полезен?

Ответы на вопрос(1)

Ваш ответ на вопрос