我想使用(Primefaces with TwitterBootstrap)。目前DropDown菜单无法使用,例如存在p:dataTable
。我已经发现,如果我在h:head
中有以下排序,它正在工作(没有任何Primefaces组件):
<h:head>
<h:outputScript library="js" name="bootstrap.js"/>
<h:outputScript library="primefaces" name="jquery/jquery.js"/>
...
</h:head>
如果我交换排序(首先是jquery.js,而不是bootstrap.js),DropDown菜单就会被破坏。我的问题是,通过在呈现的HTML输出中使用PrimeFaces组件,PrimeFaces使用的脚本(jquery.js和primefaces.js)总是在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>
如何在bootstrap.js
之前导入jquery.js
?
答案 0 :(得分:13)
如果问题与资源的包含顺序有关,您应该查看PrimeFaces团队的以下博文:Customizable Resource Ordering。
您可以在first
元素中定义h:head
构面。放置在那里的元素将在PrimeFaces资源之前加载。
<h:head>
<f:facet name="first">
<h:outputScript library="js" name="bootstrap.js"/>
</f:facet>
</h:head>