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 et <t:div>


Sujet :

JSF Java

  1. #1
    sup
    sup est déconnecté
    Membre confirmé Avatar de sup
    Profil pro
    Inscrit en
    Août 2004
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 70
    Par défaut Facelets et <t:div>
    Bonjour,
    sur le conseil de Sniper37
    http://www.developpez.net/forums/sho...d.php?t=450384

    Je me suis lancé dans les facelets pour tenter de resoudre mes problemes de pertes de css.

    Au cours de mon refactoring, je m'appercoi que les <t:div> qui sont dans les .xhtml ne sont pas transformées en <div> dans le rendu.
    Si j'encapsule mes <h:outputText> et <h:inputText> dans des <div> directement c'est la cata.

    Voici une partie de mon code qui provoque l'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     <h:panelGrid id="panelGeneral" columns="2" styleClass="smallFloat"
        rowClasses="firstRow, secondRow"
        columnClasses="labelColumn, valueColumn">
    <f:facet name="header">
    <h:outputText value="Contact General" />
    </f:facet>
    <h:outputText value="CompanyName : " />
    <t:div styleClass="view">
    <h:outputText id="CompanyName"
        value="#{contactViewGUI.companyName}"
        rendered="#{!contactViewGUI.viewEditButton}" />
    <h:inputText id="CompanyNameInput"     value="#contactViewGUI.companyName}"
        rendered="#{contactViewGUI.viewEditButton}" />
    </t:div>
    La source HTML générée est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     <tr class="firstRow">
    <td class="labelColumn"></t:div></td>
    <td class="valueColumn">CompanyName : </td>
    </tr>
    <tr class="secondRow">
    <td class="labelColumn">
    <t:div styleClass="view"></td>
    <td class="valueColumn"><span id="content:CompanyName"></span></td>
    </tr>
    Le <t:div> n'est pas interprété, 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
     <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" 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">
     
        <context-param>
            <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
            <param-value>server</param-value>
        </context-param>
     
        <context-param>
    <param-name>use-cdata</param-name>
    <param-value>true</param-value>
    </context-param>
     
        <context-param>
            <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
            <param-value>.xhtml</param-value>
        </context-param>
     
     
     
        <listener>
            <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
        </listener>
     
     
        <!-- RichFaces config -->
        <context-param>
            <param-name>org.richfaces.SKIN</param-name>
            <param-value>plain</param-value>
            <!-- <param-value>blueSky</param-value>-->
        </context-param>
     
        <filter>
            <display-name>RichFaces Filter</display-name>
            <filter-name>richfaces</filter-name>
            <filter-class>org.ajax4jsf.Filter</filter-class>
        </filter>
     
        <filter-mapping>
            <filter-name>richfaces</filter-name>
            <servlet-name>Faces Servlet</servlet-name>
            <dispatcher>REQUEST</dispatcher>
            <dispatcher>FORWARD</dispatcher>
            <dispatcher>INCLUDE</dispatcher>
        </filter-mapping>
        <!-- End RichFaces config -->
     
     
        <!-- Tomahawk config -->
        <filter>
            <filter-name>MyFacesExtensionsFilter</filter-name>
            <filter-class>
                org.apache.myfaces.webapp.filter.ExtensionsFilter
            </filter-class>
            <init-param>
                <description>
                    Set the size limit for uploaded files. 
                        Format: 10 - 10 bytes 
                                10k - 10 KB 
                                10m - 10 MB 
                                1g - 1 GB
                </description>
                <param-name>maxFileSize</param-name>
                <param-value>20m</param-value>
            </init-param>
        </filter>
     
        <filter-mapping>
            <filter-name>MyFacesExtensionsFilter</filter-name>
            <servlet-name>Faces Servlet</servlet-name>
        </filter-mapping>
     
        <filter-mapping>
            <filter-name>MyFacesExtensionsFilter</filter-name>
            <url-pattern>/faces/myFacesExtensionResource/*</url-pattern>
        </filter-mapping>
     
        <filter-mapping>
            <filter-name>MyFacesExtensionsFilter</filter-name>
            <url-pattern>*.xhtml</url-pattern>
        </filter-mapping>
        <!-- End Tomahawk config -->
     
     
     
        
        
        <!-- 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>
        <!-- Faces Servlet Mapping -->
        
        <servlet-mapping>
            <servlet-name>Faces Servlet</servlet-name>
            <url-pattern>*.jsf</url-pattern>
        </servlet-mapping>
     
        <welcome-file-list>
            <welcome-file>index.jsf</welcome-file>
            <welcome-file>index.html</welcome-file>
        </welcome-file-list>
    </web-app>
    Pourtant la lib tomahawk est bien packagée et le namespace est defini au debut des pages.
    xmlns:t="http://myfaces.apache.org/tomahawk"


    Avez-vous rencontré un probleme similaire?

  2. #2
    sup
    sup est déconnecté
    Membre confirmé Avatar de sup
    Profil pro
    Inscrit en
    Août 2004
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 70
    Par défaut
    En testant avec une page toute simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     <!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:f="http://java.sun.com/jsf/core"
        xmlns:t="http://myfaces.apache.org/tomahawk"
        xmlns:h="http://java.sun.com/jsf/html">
    <head>
      <title>Ma premiere page XHTML avec facelets</title>
    </head>
    <body>
      <f:view>
          <t:outputText value="Hello World"/>
      </f:view>
    </body>
    </html>

    Voila le HTML qui ressort (rien ne s'affiche)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     <!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:t="http://myfaces.apache.org/tomahawk">
    <head>
      <title>Ma premiere page XHTML avec facelets</title>
    </head>
    <body>
          <t:outputText value="Hello World"></t:outputText>
    <!-- MYFACES JAVASCRIPT -->
     
    </body>
    </html>

    Si Tomahawk et les facelets étaient incompatible ca se saurait...
    alors quelqu'un saurait où est mon erreur?

  3. #3
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Hello,

    Dans mon web.xml, j'inclus directement le fichier de Taglib de Tomahawk comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        <context-param>
            <param-name>facelets.LIBRARIES</param-name>
            <param-value>/WEB-INF/tomahawk-taglib.xml</param-value>
        </context-param>
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  4. #4
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Bonjour.
    Citation Envoyé par romaintaz Voir le message
    Hello,

    Dans mon web.xml, j'inclus directement le fichier de Taglib de Tomahawk comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        <context-param>
            <param-name>facelets.LIBRARIES</param-name>
            <param-value>/WEB-INF/tomahawk-taglib.xml</param-value>
        </context-param>
    Oui, mais avant ça, il faut d'abord télécharger une sorte de pont Tomahawk/Facelets, si mes souvenirs sont bonnes (datant de l'été dernier), et dans ce cas, pas même besoin de déclarer ça dans web.xml ?

  5. #5
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Possible.
    Mais bon, moi je triche parce que la taglib que j'utilise est une personnelle, où je n'ai mis que le composant de Tomahawk dont j'avais besoin.
    Alors effectivement, c'est peut être inutile si on prend tout Tomahawk...
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  6. #6
    sup
    sup est déconnecté
    Membre confirmé Avatar de sup
    Profil pro
    Inscrit en
    Août 2004
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 70
    Par défaut
    Vous avez raison, ca fonctionne,

    Il fallait ajouter la lib tomahawk-facelets-taglib.jar

    je l'ai trouvé à cette adresse et ca fonctionne
    http://code.google.com/p/tomahawk-facelets/


    Merci beaucoup.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Centrer une <div> en position fixe sous IE
    Par Jorus dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 23/09/2004, 15h29
  2. [C#] Placer fichier html entre balises DIV
    Par Febus dans le forum ASP.NET
    Réponses: 9
    Dernier message: 07/05/2004, 11h44
  3. xml->html : retour chariot, espaces dans un div
    Par d'Oursse dans le forum XML/XSL et SOAP
    Réponses: 9
    Dernier message: 27/04/2004, 19h13
  4. Editeur XMLGram et techniques <div>erses...
    Par Sylvain James dans le forum XMLRAD
    Réponses: 3
    Dernier message: 02/10/2003, 16h41
  5. XSLT et balise HTML div
    Par haypo dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 01/07/2003, 20h38

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