IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

Facelets ne format pas avec CSS


Sujet :

JSF Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 4
    Par défaut Facelets ne format pas avec CSS
    Bonjour à tous!

    J'utilise
    • JSF
    • Facelets
    • Tomahawk


    et je tente de faire afficher tout simplement une page qui se fie sur un template. Ma page fonctionne et affiche les éléments du template mais sans prendre en compte mon CSS.

    Voici mon code de ma page testLayout.jsp (mon template):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
              "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
          xmlns:ui="http://java.sun.com/jsf/facelets"
          xmlns:f="http://java.sun.com/jsf/core" 
          xmlns:t="http://myfaces.apache.org/tomahawk">
     
    <f:view>
        <head>
          <title><ui:insert name="title">Default title</ui:insert></title>
          <link rel="stylesheet" type="text/css" href="/css/structureGlobale.css"/>
          <link rel="stylesheet" type="text/css" href="/css/affichage.css"/>
          <link rel="stylesheet" type="text/css" href="/css/table.css"/>
        </head>
     
        <body>
            <f:loadBundle basename="MessageResource" var="msgs"/>
     
            <div id="enTete">
                    <ui:insert name="monEnTete">
                        <ui:include src="/common/enTeteTest.jsp"/>
                    </ui:insert>
            </div>
            <div id="zoneTravail">
                    <ui:insert name="zoneTravail">
                    </ui:insert>
            </div>
            <div id="piedPage">
                    <ui:insert name="monPiedPage">
                        <ui:include src="/common/piedPageTest.jsp"/>  
                    </ui:insert>
            </div>
        </body>
    </f:view>
    </html>
    Et celle de ma page centrale test.jsp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     
    <ui:composition xmlns="http://www.w3.org/1999/xhtml"
                    xmlns:ui="http://java.sun.com/jsf/facelets"
                    xmlns:h="http://java.sun.com/jsf/html"
                    xmlns:f="http://java.sun.com/jsf/core"
                    xmlns:t="http://myfaces.apache.org/tomahawk"
                    template="testLayout.jsp">
     
      <ui:define name="title">Mon titre</ui:define>
      <ui:define name="zoneTravail">
            <div id="test">
                <h:outputText value="#{msgs.test}"/>
            </div>
      </ui:define>
    </ui:composition>
    Mon message msgs.test devrait s'afficher suivant le CSS test mais rien ne se produit côté affichage.

    Quelqu'un d'assez fort?

    Cheers!

  2. #2
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 4
    Par défaut
    Ok j'ai trouvé facelets ne met pas de / devant le chemin pour aller chercher le css.

    Le fichier testLayout.jsp devrait avoir la portion de code changée pour celle-ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <head>
          <title><ui:insert name="title">Default title</ui:insert></title>
          <link rel="stylesheet" type="text/css" href="css/structureGlobale.css"/>
          <link rel="stylesheet" type="text/css" href="css/affichage.css"/>
          <link rel="stylesheet" type="text/css" href="css/table.css"/>
        </head>
    Cependant j'ai une autre erreur qui concerne encore mon css et qui m'empêche d'afficher la page correctement:

    com.sun.facelets.FaceletException: Error Parsing /css/table.css: Error Traced[line: 1] <Line 1, Column 1>: XML-20108: (Erreur grave) Début de l'élément racine attendu.

    Élément racine de mon css? Voici mon fichier Css:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    #test {
        color:#CC6600;
        font-size: 20px;
    }
    Difficile d'être plus simple...

    Quelqu'un a une idée pourquoi l'erreur?

    cheers

  3. #3
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    pourquoi c'est les facelets qui traitent le fichier css, normalement c''est le client qui le gere ..moi c'est le serveur apache qui renvoie les ressources statiques, je n'ai pas de soucis. tu n'a pas oublié un parametre du context??
    par contre, j'ai un probleme d'affichage de la clé du fichier properties..peu etre une mauvaise version de l'api EL..

  4. #4
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 4
    Par défaut
    Je ne crois pas avoir oublié un context...
    J'ai visionné plusieurs exemples et je crois que tout est la.

    Juste au cas ou, voici mon web.xml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
     
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"
             xmlns="http://java.sun.com/xml/ns/j2ee">
      <description>Empty web.xml file for Web Application</description>
     
      <!-- Paramétrage du contexte -->
      <context-param>
      <param-name>javax.faces.CONFIG_FILES</param-name>
      <param-value>
      /WEB-INF/faces-config.xml
      </param-value>
      </context-param>
     
      <context-param>
      <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
      <param-value>client</param-value>
      </context-param>
     
      <filter>
        <filter-name>sessionFilter</filter-name>
        <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
      </filter>
     
      <filter-mapping>
        <filter-name>sessionFilter</filter-name>
        <url-pattern>/faces/*</url-pattern>
      </filter-mapping>
      
      <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
      </listener>
      
      <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
      </servlet>
      
      <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
      </servlet-mapping>
      
      <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
      </servlet-mapping>  
      <session-config>
        <session-timeout>35</session-timeout>
      </session-config>
      <mime-mapping>
        <extension>html</extension>
        <mime-type>text/html</mime-type>
      </mime-mapping>
      <mime-mapping>
        <extension>txt</extension>
        <mime-type>text/plain</mime-type>
      </mime-mapping>
      <mime-mapping>
        <extension>htc</extension>
        <mime-type>text/x-component</mime-type>
      </mime-mapping>
      
      <!-- Use Documents Saved as *.xhtml -->	
      <context-param>
        <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
        <param-value>.xhtml</param-value>
      </context-param>
      
      <!-- Special Debug Output for Development -->
      <context-param>
        <param-name>facelets.DEVELOPMENT</param-name>
        <param-value>true</param-value>
      </context-param>
      
      <context-param>
        <param-name>facelets.REFRESH_PERIOD</param-name>
        <param-value>2</param-value>
      </context-param>
      
      <!-- Tomahawk -->
      <context-param>
            <param-name>facelets.LIBRARIES</param-name>
            <param-value>/WEB-INF/tomahawk.taglib.xml</param-value>
      </context-param>
     
      <!-- Optional JSF-RI Parameters to Help Debug -->
      <context-param>
        <param-name>com.sun.faces.validateXml</param-name>
        <param-value>true</param-value>
      </context-param>
      <context-param>
        <param-name>com.sun.faces.verifyObjects</param-name>
        <param-value>true</param-value>
      </context-param>
     
      <!-- Faces Servlet -->
      <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
      </servlet>
      
      <welcome-file-list>
        <welcome-file>
          index.jsp
        </welcome-file>
      </welcome-file-list>
      <jsp-config/>
    </web-app>
    Et juste au cas ou ça vous dirait quelque chose, voici le stack avec l'erreur au complet:

    GRAVE: Error Rendering View[/css/test.css]
    com.sun.facelets.FaceletException: Error Parsing /css/test.css: Error Traced[line: 1] <Line 1, Column 1>: XML-20108: (Erreur grave) Début de l'élément racine attendu.
    at com.sun.facelets.compiler.SAXCompiler.doCompile(SAXCompiler.java:234)
    at com.sun.facelets.compiler.Compiler.compile(Compiler.java:104)
    at com.sun.facelets.impl.DefaultFaceletFactory.createFacelet(DefaultFaceletFactory.java:192)
    at com.sun.facelets.impl.DefaultFaceletFactory.getFacelet(DefaultFaceletFactory.java:141)
    at com.sun.facelets.impl.DefaultFaceletFactory.getFacelet(DefaultFaceletFactory.java:93)
    at com.sun.facelets.FaceletViewHandler.buildView(FaceletViewHandler.java:503)
    at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:553)
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107)
    at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:214)
    at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
    at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:368)
    at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:866)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448)
    at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:216)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)
    at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
    at java.lang.Thread.run(Thread.java:595)


    cheers

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 19
    Par défaut
    salut LeVickingRoux

    j'utilise la mm architecture que toi Facelet /tomawaks

    pour faire marcher les CSS j'ai mis çà dans le header

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <t:stylesheet path="/css/style.css" />

Discussions similaires

  1. Dégradé en CSS ne fonctionne pas avec firefox
    Par mullger dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 12/12/2006, 10h42
  2. CSS: cursor:hand; ne fonction pas avec Netscape/firefox
    Par pierrot10 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 26/09/2005, 11h12
  3. [CSS] Bug IE avec height ne marche pas avec les %
    Par El Riiico dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 23/06/2005, 17h11
  4. [xhtml][css] bouton du form ne marche pas avec IE6
    Par chinouk dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 14/06/2005, 14h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo