2015-07-28 3 views
1

Если я использую оба bootsfaces и butterfaces на одной странице, обе библиотеки импортировать их в комплекте JQuery и начальную загрузке таблицы стилей, как Belows:Выборочно отключить зависимости ресурсов JSF

<link type="text/css" rel="stylesheet" href="/javax.faces.resource/bootstrap.min.css.xhtml?ln=butterfaces-configurable"> 
<link type="text/css" rel="stylesheet" href="/javax.faces.resource/css/bootstrap.min.css.xhtml?ln=bsf"> 

<script type="text/javascript" src="javax.faces.resource/jquery.min.js.xhtml?ln=butterfaces-configurable"></script> 
<script type="text/javascript" src="javax.faces.resource/jquery.min.js.xhtml?ln=bsf"></script> 

Если оба библиотек используют ту же версию, что тратить пропускную способность для импорта дубликатов. Если в обеих библиотеках используются разные версии, конфликт возможен. Каков наилучший подход к решению этой проблемы? Можно ли выборочно отключить библиотеки компонентов для импорта определенных таблиц стилей или скриптов?

+0

ли вы решили использовать OmniFaces? – BalusC

+0

Да. Я использую Omnifaces. Вы хотите использовать CombinedResourceHandler? Как насчет того, как бороться с конфликтом версии? –

+0

С CombinedResourceHandler вы действительно можете подавлять ресурсы через web.xml или даже через мастер-шаблон XHTML. Но без этого есть и другие способы, но для этого требуется только немного пользовательского кода. – BalusC

ответ

1

Обновление 22 января 2016 года: В то же время мы (команда BootsFaces) пошли на несколько длин, чтобы добавить мелкозернистый контроль над загрузкой ресурсов. См. http://www.bootsfaces.net/layout/resourcemanagement.jsf. Сокращая длинную историю, BootsFaces не загружает jQuery, jQueryUI или Bootstrap, если он обнаруживает эти ресурсы уже там. Кроме того, вы можете дезактивировать загрузку ресурсов с помощью параметров контекста web.xml.

Устаревший исходный ответ: В настоящее время единственным решением является использование OmniFaces, как сказал BalusC. Мы могли бы предложить улучшить BootsFaces, чтобы он добавлял jQuery.min.js и bootstrap.min.css, только если эти библиотеки не предоставлены на странице JSF. В этом случае ButterFaces предоставит jQuery и BootsFaces. Конечно, вы несете ответственность за то, чтобы предоставленная версия jQuery была совместима с BootsFaces.

3

Вы можете использовать следующий параметр web.xml, чтобы отключить предоставление jQuery в #ButterFaces.

<context-param> 
    <param-name>de.larmic.butterfaces.provideJQuery</param-name> 
    <param-value>false</param-value> 
</context-param> 

вы можете также отключить самозагрузки, если у вас есть собственная версия

<context-param> 
    <param-name>de.larmic.butterfaces.provideBootstrap</param-name> 
    <param-value>false</param-value> 
</context-param> 
+0

Это хорошая альтернатива. Вы автор ButterFaces? –

+0

Да, я один из создателей ButterFaces. Вы работаете над BootsFaces? –

+0

Да, я :). Было бы хорошо связаться. Может быть, наши команды могли бы помочь друг другу. –