Как я могу реализовать CSS Cust Busting с помощью JSF outputStylesheet? - PullRequest
10 голосов
/ 10 июня 2011

В шаблонах страниц JSF я использую этот код для включения ресурса CSS:

<h:outputStylesheet library="css" name="mystyles.css"  />

Обычным способом реализации очистки кэша CSS является добавление параметра версии, например v=123, однако это не поддерживается в outputStyleSheet:

<h:outputStylesheet library="css" name="mystyles.css?v=123"  />

вызовет предупреждение JSF1064, а CSS не будет найден.

1 Ответ

10 голосов
/ 10 июня 2011

Это невозможно без переопределения StylesheetRenderer (при условии, что вы находитесь на Мохарре). Это действительно не принимает строку запроса во внимание. Тем не менее, в качестве (временного) обходного пути полезно знать, что допустимо включить CSS с использованием собственного @import правила CSS внутри <h:outputStyleSheet>.

<h:outputStylesheet target="head">
    @import url('css/mystyles.css?v=123')
</h:outputStylesheet>

Возможно, вы захотите отправить запрос на улучшение мальчикам из Мохарры, чтобы учесть это в будущих выпусках.

...