2015-03-14 1 views
0

Bonjour, je reçois les éléments suivants dans la console du serveur à chaque fois que je saisis une page Web: f:view contracts attribute found, but not used at top level.jsf-2.2: f: voir l'attribut contrats trouvé, mais pas utilisé au niveau supérieur

J'utilise modèle jsf et j'ai un fichier modèle default.xhtml comme ceci:

<!DOCTYPE html> 
<html ...xmlns...> 
<f:view contracts="default" locale="#{bbClevcore.locale}"> 
    <h:head> 
    ... 
    </h:head> 
    <h:body id="body"> 
    <header> 
     ... 
    </header> 

    <section> 
     <h:panelGroup layout="block"> 
     <h:panelGroup id="section" layout="block"> 
      <ui:insert name="section" /> 
     </h:panelGroup> 
     </h:panelGroup> 
    </section> 

    <footer> 
     ... 
    </footer> 
    </ui:insert> 

    </h:body> 
</f:view> 
</html> 

je le répertoire contrat suivant:

-src/main/webapp/contrats/default/commune/css/main.css

Et dans la page actuelle: index.xhtml

<ui:composition xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:c="http://xmlns.jcp.org/jsp/jstl/core" 
    xmlns:f="http://xmlns.jcp.org/jsf/core" 
    xmlns:h="http://xmlns.jcp.org/jsf/html" 
    xmlns:ui="http://xmlns.jcp.org/jsf/facelets" 
    xmlns:cc="http://xmlns.jcp.org/jsf/composite/components" 
    template="/templates/default.xhtml"> 
    ... 
    <ui:define name="section"> 
     .... 
    </ui:define> 
</ui:composition> 

Le contrat fonctionne depuis quand je change la valeur des contrats de par défaut pour laisser dire alternative, ayant un autre main.css dans un dossier alternatif, la page prend le changement et montre le style alternatif. Est-ce que j'utilise f: view au bon endroit?

Merci

Répondre

0

Il n'est pas possible de définir un contrat dans un modèle global. JSF permet à de le définir dans un premier fichier demandé (Template-Client) uniquement. Essaye ça!

Modèle:

<!DOCTYPE html> 
<html ...xmlns...> 
    <h:head> 
    ... 
    </h:head> 

    <h:body id="body"> 
    <header> 
     ... 
    </header> 

    <section> 
     <h:panelGroup layout="block"> 
     <h:panelGroup id="section" layout="block"> 
      <ui:insert name="section" /> 
     </h:panelGroup> 
     </h:panelGroup> 
    </section> 

    <footer> 
     ... 
    </footer> 

    </h:body> 
</html> 

Template-client:

<ui:composition xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:f="http://xmlns.jcp.org/jsf/core" 
    xmlns:ui="http://xmlns.jcp.org/jsf/facelets"> 

    <f:view contracts="alternative"> 
     <ui:composition template="/templates/default.xhtml"> 
      ... 
      <ui:define name="section"> 
       .... 
      </ui:define> 
      ... 
     </ui:composition> 
    </f:view> 

</ui:composition>