2012-04-18 29 views
7

Tôi muốn sử dụng (Primefaces with TwitterBootstrap). Hiện tại menu thả xuống không hoạt động nếu ví dụ: a p:dataTable hiện diện. Tôi đã tìm ra, mà nó làm việc (không có bất kỳ thành phần Primefaces) nếu tôi có thứ tự sau đây trong h:head:JSF h: thứ tự outputScript và PrimeFaces jQuery

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

Nếu tôi trao đổi thứ tự (jquery.js đầu tiên, hơn bootstrap.js), thả xuống menu bị hỏng. Vấn đề của tôi là, với việc sử dụng các thành phần PrimeFaces trong kết xuất HTML được hiển thị, các kịch bản được sử dụng bởi PrimeFaces (jquery.js và primefaces.js) luôn luôn trước các mục nhập thủ công trong 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> 

Làm cách nào để nhập bootstrap.js trước jquery.js?

Trả lời

12

Nếu sự cố liên quan đến thứ tự bao gồm tài nguyên của bạn, bạn nên xem bài đăng blog sau của nhóm PrimeFaces: Customizable Resource Ordering.

Bạn có thể xác định một khía cạnh first bên trong phần tử h:head của mình. Các phần tử được đặt ở đó sẽ được tải trước tài nguyên PrimeFaces.

<h:head> 
    <f:facet name="first"> 
     <h:outputScript library="js" name="bootstrap.js"/> 
    </f:facet> 
</h:head> 
Các vấn đề liên quan