Порядок ресурсов в PrimeFaces

Начиная с PrimeFaces 3.0, он обеспечивает очень настраиваемый порядок размещения ресурсов.

Смотрите следующий порядок:

{Пусто} 1. «Первый» аспект, если он определен.

  <f:facet name="first">
    <!-- load css, js or others -->
  </f:facet>

{Пусто} 2. PrimeFaces - JSF зарегистрировал CSS. 3. PrimeFaces - тема CSS. 4. «средний» фасет, если он определен.

  <f:facet name="middle">
    <!-- load css, js or others -->
  </f:facet>

{Пусто} 5. PrimeFaces - JSF зарегистрированный JS. 6. h: содержание головы.

  <h:head>
    <!-- load css, js or others -->
  </h:head>

{Пусто} 7. «Последний» аспект, если он определен.

  <f:facet name="last">
    <!-- load css, js or others -->
  </f:facet>

1. Пример

Обычный вариант использования - добавить метатег через фасет « first » и переопределить «css» фасетом « last ». «Средний» аспект используется редко.

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. Результат

Над тегами JSF будут генерироваться следующие выходные данные HTML:

<!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>
...