Depuis PrimeFaces 3.0, il fournit un ordre de ressources très personnalisable.
Voir ordre suivant:
{vide} 1. “Première” facette si définie.
<f:facet name="first">
<!-- load css, js or others -->
</f:facet>
{vide} 2. PrimeFaces - CSS enregistré par JSF. 3. PrimeFaces - Thème CSS. 4. La facette «médiane» si définie.
<f:facet name="middle">
<!-- load css, js or others -->
</f:facet>
{vide} 5. PrimeFaces - JSF enregistré JS. 6. h: contenu de la tête.
<h:head>
<!-- load css, js or others -->
</h:head>
{vide} 7. “Dernière” facette si définie.
<f:facet name="last">
<!-- load css, js or others -->
</f:facet>
1. Exemple
Un cas d’utilisation courant est d’ajouter une balise «méta» via la facette « first » et de remplacer «css» via une facette « last ». La facette «médiane» est rarement utilisée.
demo.xhtml
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<h:head>
<h:outputStylesheet library="default" name="css/bootstrap.css"/>
<h:outputScript library="primefaces" name="jquery/jquery.js"/>
<f:facet name="first">
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
<title>Resource ordering in PrimeFaces</title>
</f:facet>
</h:head>
<h:body>
<f:facet name="last">
<h:outputStylesheet library="default" name="css/style.css"/>
</f:facet>
</h:body>
2. Résultat
Les balises JSF ci-dessus généreront la sortie HTML suivante:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<!-- comment : "first" faces -->
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
<title>Resource ordering in PrimeFaces</title>
<!-- comment : PF-JSF registered CSS or Theme CSS -->
<link type="text/css" rel="stylesheet"
href="/mkyong/javax.faces.resource/css/bootstrap.css.jsf?ln=default&v=1__0"/>
<link type="text/css" rel="stylesheet"
href="/mkyong/javax.faces.resource/primefaces.css.jsf?ln=primefaces"/>
<!-- comment : "last" faces -->
<link type="text/css" rel="stylesheet"
href="/mkyong/javax.faces.resource/css/style.css.jsf?ln=default&v=1__0"/>
<script type="text/javascript"
src="/mkyong/javax.faces.resource/jquery/jquery.js.jsf?ln=primefaces">
</script>
<script type="text/javascript"
src="/mkyong/javax.faces.resource/primefaces.js.jsf?ln=primefaces">
</script>
</head>
<body>
...
</body>
...