JSF h:outputScript排序和PrimeFaces jQuery

时间:2012-04-18 09:55:47

标签: javascript jsf-2 primefaces

我想使用(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

1 个答案:

答案 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>