2012-04-18 15 views
7

Chcę użyć (Primefaces with TwitterBootstrap). Obecnie menu DropDown nie działa, np. a p:dataTable jest obecny. Mam zorientowali się, że to działa (bez elementów Primefaces) jeśli mam następującą kolejność w h:head:JSF h: outputScripting i PrimeFaces jQuery

<h:head> 
    <h:outputScript library="js" name="bootstrap.js"/> 
    <h:outputScript library="primefaces" name="jquery/jquery.js"/> 
    ... 
</h:head> 

Gdybym zamienić kolejność (pierwszy jquery.js niż bootstrap.js), rozwijanym menu jest zepsute. Mój problem polega na tym, że przy użyciu komponentów PrimeFaces w renderowanym wyjściu HTML skrypty używane przez PrimeFaces (jquery.js i primefaces.js) są zawsze przed ręcznymi wpisami w h:head.

<script src="/javax.faces.resource/jquery/jquery.js.jsf?ln=primefaces"></script> 
<script src="/javax.faces.resource/primefaces.js.jsf?ln=primefaces"></script> 
<script src="/javax.faces.resource/bootstrap.js.jsf?ln=js"></script> 

Jak mogę zaimportować bootstrap.js przed jquery.js?

Odpowiedz

12

Jeśli problem związany jest z porządkiem uwzględniania zasobów, należy zapoznać się z następującym blogiem zespołu PrimeFaces: Customizable Resource Ordering.

Możesz zdefiniować aspekt first wewnątrz swojego elementu . Umieszczone tam elementy zostaną załadowane przed zasobami PrimeFaces.

<h:head> 
    <f:facet name="first"> 
     <h:outputScript library="js" name="bootstrap.js"/> 
    </f:facet> 
</h:head> 
Powiązane problemy