2012-04-18 17 views
7

Deseo utilizar (Primefaces with TwitterBootstrap). Actualmente, el menú DropDown no funciona si, por ejemplo, un p:dataTable está presente. He descubierto, que está funcionando (sin ningún componente PrimeFaces) si tengo la siguiente ordenación en h:head:JSF h: orden de outputScript y PrimeFaces jQuery

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

Si intercambiar los pedidos (primeros jquery.js, que bootstrap.js), en el menú desplegable el menú está roto. Mi problema es que con el uso de los componentes PrimeFaces en el resultado de HTML renderizado, los scripts utilizados por PrimeFaces (jquery.js y primefaces.js) siempre están antes que las entradas manuales en 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> 

¿Cómo puedo importar bootstrap.jsjquery.js antes?

Respuesta

12

Si el problema está relacionado con el orden de inclusión de sus recursos, debe echar un vistazo a la siguiente publicación del equipo de PrimeFaces: Customizable Resource Ordering.

Puede definir una faceta first dentro de su elemento h:head. Los elementos colocados allí se cargarán antes que los recursos de PrimeFaces.

<h:head> 
    <f:facet name="first"> 
     <h:outputScript library="js" name="bootstrap.js"/> 
    </f:facet> 
</h:head> 
Cuestiones relacionadas