8

我想使用(Primefaces 和 TwitterBootstrap)。当前,如果存在例如 a,则 DropDown 菜单不起作用p:dataTable。我发现,如果我有以下顺序,它就可以工作(没有任何 Primefaces 组件)h:head

<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

4

1 回答 1

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>
于 2012-04-18T10:21:07.603 回答