Conflito Bootstrap + PrimeFaces

1 resposta
jqueryprimefacesboostrapfront-end
J

Estou desenvolvendo um sistema novo em JSF com um tema pronto baseado em Bootstrap, entretanto alguns componentes específicos eu preciso usar do PrimeFaces(o componente <p:calendar/> e outros) e esses componentes simplesmente não funcionam.

Pesquisando em diversos fóruns da comunidade, pude identificar que tanto o Bootstrap quanto o PrimeFaces usam bibliotecas jQuery, e elas estão em conflito. Para solucionar, foi indicado que eu usasse na minha página tencargosCadastro.xhtml:

<script>
jQuery(function(){
   jQuery.noConflict();
});
</script>

Realmente, a partir disso o meu componente <p:calendar> funciona, mas… O menu que faz parte do template do projeto <ui:composition template="/templates/index.xhtml"> deixa de funcionar.

Teria como eu “isolar” essas chamadas dentro da mesma página, visto que eu não tenho uma chamada explícita de importação do jQuery do PrimeFaces? Sem que o tema do menu interferisse no conteúdo da página e vice versa?

Exemplo:

Arquivo: menu.xhtml:

<h:body>
//Importa jquery do template baixado
<script src="resources/vendor/jquery/jquery.min.js"></script>

Arquivo: tencargosCadastro.xhtml:

<script>
jQuery(function(){
    jQuery.noConflict();
});
</script>

<ui:composition template="/templates/index.xhtml"> //importa o menu junto do template para a página
<ui:define name=“page-wrapper”>
[…]
<p:calendar pattern=“dd/MM/yyyy” locale=“pt” value="#{tencargoBean.tencargos.dinicVgcia}"/> //componente do primefaces a ser usado
[…]



Teria alguma solução para isso ou realmente não dá pra usar duas bibliotecas jQuery na mesma página?

1 Resposta

E

vc não poderia utilizar o BootsFaces invés do Prime?

https://showcase.bootsfaces.net/jquery-ui/datepicker.jsf;jsessionid=oXqiDDea5QAJDQCOfb_FPYeL_UItlZP9HQqI9-_Z.showcase01

É bastante rico em componentes, e já tem integração com o BootStrap

Criado 15 de março de 2017
Ultima resposta 16 de mar. de 2017
Respostas 1
Participantes 2