2010-09-02 9 views
1

J'ai créé le modèle (template.xhtml) qui réside dans le contexte racine de l'application. Je voulais l'appliquer à la page (newTemplateClient.xhtml) qui se trouve dans le dossier 'public'. Alors newTemplateClient.xhtml ressemble à ceci:Modèle JSF non appliqué

<?xml version='1.0' encoding='UTF-8' ?> 
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets" 
xmlns="http://www.w3.org/1999/xhtml" 
      template="./../template.xhtml"> 
          . 
          . 
          . 

J'ai des liens vers cette page à index.xhtml:

<h:link outcome="/public/newTemplateClient" value="Login"/>

<h:commandLink action="/public/newTemplateClient?faces-redirect=true" value="Login"/>

<h:commandLink action="/public/newTemplateClient" value="Login"/>

Et seulement dernières œuvres . Lorsque j'utilise les deux premiers affichages de page mais le modèle n'est pas appliqué. Ainsi, cela ne fonctionne que lorsque la page est redirigée et non transmise. Pourquoi?

Merci à l'avance

D'accord, il semble que modèle est appliqué mais les fichiers CSS ne sont pas. J'utilise des assistants NetBeans pour créer des modèles et des modèles de clients. Les fichiers css sont situés/resources/css/directory. Ils sont référencés à partir template.xhtml:

`

<h:head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <link href="./resources/css/default.css" rel="stylesheet" type="text/css" /> 
    <link href="./resources/css/cssLayout.css" rel="stylesheet" type="text/css" /> 
    <title><ui:insert name="title">template</ui:insert></title> 
</h:head> 

<h:body> 

    <div id="top"> 
     <ui:insert name="top">Top</ui:insert> 
    </div> 

    <div id="content" class="center_content"> 
     <ui:insert name="content">Content</ui:insert> 
    </div> 

    <div id="bottom"> 
     <ui:insert name="bottom">Bottom</ui:insert> 
    </div> 

</h:body> 

`

Comment puis-je référence que les fichiers css autre façon? Structure des dossiers:

Root 
    public 
    newClientTemplate.xhtml 
    template.xhtml 
    index.xhtml 

Répondre

3

problème résolu OK. solution a consisté à utiliser:

<h:outputStylesheet name"css/default.css"/> 
<h:outputStylesheet name"css/cssLayout.css"/> 

Au lieu de cela:

<link href="./resources/css/default.css" rel="stylesheet" type="text/css" /> 
<link href="./resources/css/cssLayout.css" rel="stylesheet" type="text/css" />