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 :

[RichFaces] Déploiement erratique avec A4J


Sujet :

JSF Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2010
    Messages : 65
    Par défaut [RichFaces] Déploiement erratique avec A4J
    J'ai un problème de déployement plutôt original

    Configuration : JBoss 5.0.1 GA (même problème avec 4.2 GA) / RichFaces 3.3.3 / JSF 1.2

    Parfois j'ai l'Exception suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    L'uri absolue: http://richfaces.org/a4j ne peut �tre r�solu dans le fichier web.xml ou dans les fichiers jar d�ploy�s avec cette application
    .. Et parfois j'ai cette Exception là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    org.apache.jasper.JasperException: Unable to read TLD "META-INF/ajax4jsf.tld" from JAR file "jboss-5.0.1.GA/server/default/tmp/3j011-f6adpt-gl2br2ld-1-gl2brx6h-9q/ProjetWeb.war/WEB-INF/lib/richfaces-ui-3.3.3.Final.jar": java.util.zip.ZipException: error in opening zip file
    Et parfois ça marche

    Pour la 1° erreur, je me dit que puisque ça marche une fois sur 3 ça ne peut pas être lié à la config (j'ai essayé pleins de chipotage sans succès)

    J'ai l'impression en lisant la 2° erreur qu'un processus garde ouvert l'archive ProjetWeb.war/WEB-INF/lib/richfaces-ui-3.3.3.Final.jar et que du coup JBoss n'arrive pas à déployer. J'ai essayé de couper le serveur avant de redéployer mais j'ai le même problème. Donc je ne sais plus quoi tenter.

    Est-ce quelqu'un à déjà eu ce problème ou aurait une idée de comment faire pour savoir déployer sans soucis ?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2010
    Messages : 65
    Par défaut
    Pour essayer de faire avancer le shmilblik ..

    Je crois que j'ai cette erreur quand je programme mal mais j'en suis pas sur car il y a des fois ou je programme mal sans avoir l'erreur .. Ajax attendrait une info de manière récursive ?

    J'émet l'hypothèse qu'un processus essaye d'accéder en boucle à ProjetWeb.war/WEB-INF/lib/richfaces-ui-3.3.3.Final.jar, sans aucune certitudes étant donné que la commande kill -9 [idProcess] ne change rien.

    Question : Est-ce que mon Firefox (ou plutôt la session) pourrait être responsable de ces Exceptions qui empèchent d'accéder à ma servlet JSF ? Pourtant j'ai l'impression d'avoir déjà eu l'erreur dans Eclipse en même temps .. Bref je patauge ..

    Autre question : Est-ce que quelqu'un à une idée ?

  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
    Comment tu procédé pour le déploiement ??

    tu peux vérifier si tu as bien tous les jars, et si y'a pas de doublons..

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2010
    Messages : 65
    Par défaut
    Pour le déployement, Eclipse copie le fichier Projet.ear dans le répertoire :
    JBoss/server/default/deploy

    Au niveau de l'archive EAR j'ai ceci :
    - META-INF
    - ProjetEJB.jar (partie EJB)
    - ProjetWeb.war (partie JSF)
    - javax.persistence_1.99.0.v200906021518.jar (j'sais pas ce que c'est?)
    - org.eclipse.persistence.antlr_1.1.3.v20091002-r5404.jar (j'sais pas ce que c'est?)
    - org.eclipse.persistence.asm_1.1.3.v20091002-r5404.jar (j'sais pas ce que c'est?)
    - org.eclipse.persistence.core_1.1.3.v20091002-r5404.jar (j'sais pas ce que c'est?)
    - org.eclipse.persistence.jpa_1.1.3.v20091002-r5404.jar (j'sais pas ce que c'est?)

    Le problème (qui n'est pas cyclique) ne s'est pas produit suite au dernier déployement, je pourrais ajouter l'arborescence de Projet.ear dès le prochain déployement qui me conduit à ne pas pouvoir accéder à la page mais pour le moment voici déjà les infos que j'ai (je ne suis pas du tout en situation de déployer de suite)

    Au niveau des jars de la librairie de ProjetWeb.war, j'ai ceci :
    ./WebContent/WEB-INF/lib/commons-logging.jar
    ./WebContent/WEB-INF/lib/commons-digester-1.8.jar
    ./WebContent/WEB-INF/lib/richfaces-ui-3.3.3.Final.jar
    ./WebContent/WEB-INF/lib/commons-collections-3.2.jar
    ./WebContent/WEB-INF/lib/richfaces-api-3.3.3.Final.jar
    ./WebContent/WEB-INF/lib/jhighlight-1.0.jar
    ./WebContent/WEB-INF/lib/commons-beanutils-1.7.0.jar
    ./WebContent/WEB-INF/lib/richfaces-impl-3.3.3.Final.jar

    Ces librairies ne sont présente que là j'ai vérifié

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2010
    Messages : 65
    Par défaut
    Voilà .. une requête JPQL, des mises à jour, un bolognaise et deux déploiement plus tard ..

    Dans mon archive EAR, j'ai la même structure (voir message précédent) et toutes les librairies sont présente dans "ProjetWeb.war : /WEB-INF/lib", dans le cas où, lors du chargement de la page, je reçois l'Exception suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    org.apache.jasper.JasperException: L'uri absolue: http://richfaces.org/a4j ne peut �tre r�solu dans le fichier web.xml ou dans les fichiers jar d�ploy�s avec cette application


    Note : Sur un paquet de déployement j'ai +/- eu 1/3 de fois l'Exception citée plus haut. Chaque fois, après un déployement conduisant à l'Exception citée plus haut, au second déployement ça fonctionnait. Sans modifications de code après un déployement conduisant à l'Exception lors de l'accès à la page. J'ai cependant eu beaucoup de surprises avec ce bug .. Donc tout ceci est peut-être un hasard.

  6. #6
    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
    tu peux montrer le code de ta page..

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2010
    Messages : 65
    Par défaut
    ok ..

    Vue :
    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
    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
     
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
     
    <%@ taglib prefix="f"  uri="http://java.sun.com/jsf/core"%>
    <%@ taglib prefix="h"  uri="http://java.sun.com/jsf/html"%>
     
    <%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
    <%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    	<link rel="stylesheet" type="text/css" href="css/style.css" />
    	<title>Viva RichFaces</title>
    </head>
    <body>
    <f:view>
     
    <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:a4j="http://richfaces.org/a4j"
          xmlns:rich="http://richfaces.org/rich">
     
    <h:form id="form01">
    ..
    </h:form>
     
    </ui:composition>
     
    </f:view>
    </body>
    </html>
    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
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
      <display-name>ProjetWeb</display-name>
      <welcome-file-list>
        <welcome-file>index.htm</welcome-file>
      </welcome-file-list>
      <servlet>
        <description></description>
        <display-name>TestTransactionBMT</display-name>
        <servlet-name>TestTransactionBMT</servlet-name>
        <servlet-class> com.TestTransactionBMT </servlet-class>
      </servlet>
      <servlet>
        <description></description>
        <display-name>TestTransactionBMT2</display-name>
        <servlet-name>TestTransactionBMT2</servlet-name>
        <servlet-class> com.TestTransactionBMT2 </servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>TestTransactionBMT</servlet-name>
        <url-pattern>/TestTransactionBMT </url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>TestTransactionBMT2</servlet-name>
        <url-pattern>/TestTransactionBMT2 </url-pattern>
      </servlet-mapping>
      <servlet>
        <description></description>
        <display-name>TestServlet</display-name>
        <servlet-name>TestServlet</servlet-name>
        <servlet-class>com.web.TestServlet</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>TestServlet</servlet-name>
        <url-pattern>/TestServlet</url-pattern>
      </servlet-mapping>
      <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>
      <context-param>
        <param-name>org.richfaces.SKIN</param-name>
        <param-value>blueSky</param-value>
      </context-param>
      <context-param>
        <param-name>org.richfaces.CONTROL_SKINNING</param-name>
        <param-value>enable</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>
      <context-param>
        <description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>
        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
        <param-value>client</param-value>
      </context-param>
      <context-param>
        <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
        <param-value>resources.application</param-value>
      </context-param>
      <listener>
        <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
      </listener>
      <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.jsf</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.faces</url-pattern>
      </servlet-mapping>
    </web-app>

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2010
    Messages : 65
    Par défaut
    J'ai vérifié l'archive EAR pour un déployement qui produit l'erreur "http://richfaces.org/a4j ne peut être résolu" décrite précédement et toutes les librairies sont bien présente ..

    Je me dit que puisque ça marche une fois sur deux, et que ça remarche après déployement sans modifications, c'est que les déclarations dans le code sont bonne mais sans certitudes, la question reste ouverte. Est-ce que cela semble correct ?

    Autre idée, est-ce que cela pourrait avoir un lien avec le debuggueur ?

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2010
    Messages : 65
    Par défaut
    J'ai essayé sans debugger et ce n'est pas lié.

    Pour l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    org.apache.jasper.JasperException: Unable to read TLD "META-INF/ajax4jsf.tld" from JAR file "file:[REPERTOIRE DE JBOSS]/default/tmp/3j011-k3lg2i-glhvt17y-1-glhvtt2j-9q/ProjetWeb.war/WEB-INF/lib/richfaces-ui-3.3.3.Final.jar": java.util.zip.ZipException: error in opening zip file
    J'ai vérifié l'archive déployée et elle contient bien war/WEB-INF/lib/richfaces-ui-3.3.3.Final.jar (et j'arrive bien à ouvrir META-INF/ajax4jsf.tld)

    Alors voilà, j'ai vraiment plus d'idées ..

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2010
    Messages : 65
    Par défaut
    Du nouveau dans notre enquête ..

    Lors d'un déployement j'ai eu l'Exception suivante :

    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
    javax.servlet.ServletException: javax.xml.parsers.FactoryConfigurationError: Provider com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl could not be instantiated: java.lang.IllegalStateException: BaseClassLoader@d818ff0{vfszip:[repJBoss]/server/default/deploy/Projet.ear/ProjetWeb.war/} classLoader is not connected to a domain (probably undeployed?) for class com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:257)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:410)
    	com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:468)
    	com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:140)
    	org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
    	org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
    	com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
    	com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
    	com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
    	javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
    	org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)
    	org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
    	org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
    	org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
    	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    Alors après recherche j'ai lu la réponse suivante :
    you need to have $JBOSS_HOME/lib/endorsed/jbossws-native-factories.jar on the classpath. It defines all the factories.
    J'ai bien entendu la librairie demandée et elle n'est pas en double.

    J'ai donc re-déployé juste après sans faire la moindre modification, j'ai eu l'Exception :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    org.apache.jasper.JasperException: L'uri absolue: http://richfaces.org/a4j ne peut �tre r�solu dans le fichier web.xml ou dans les fichiers jar d�ploy�s avec cette application
    Et dans un soucis de continuité j'ai re-déployé toujours sans rien changer au code .. Et ça a fonctionné ..

    Alors voilà, je me dit que je ne peux pas être le seul à rencontrer de tels problèmes et j'ai absolument besoins de comprendre .. Qu'est-ce qui intervient dans cette histoire, cache ? processus ? etc ? Comment c'est possible ? Pourquoi tant de haine ?


  11. #11
    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
    le problème est que tu utilise des déclarations JSP, avec Richfaces tu dois utiliser Facelets et des pages xhtml.

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2010
    Messages : 65
    Par défaut
    Merci ..

    Alors je crois bien que j'ai les bons tags dans web.xml que voici, d'après ce que j'ai lu ça devrait être bon en tout cas, j'ai mis en gras ce que j'ai rajouté :
    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
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
      <display-name>ProjetWeb</display-name>
      <welcome-file-list>
        <welcome-file>index.htm</welcome-file>
      </welcome-file-list>
      <context-param>
          <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
          <param-value>.xhtml</param-value>
      </context-param>
      <!--  Pour rendre les tags de commentaires effectifs dans les fichiers XHTML -->
      <context-param>
       		    	<param-name>facelets.SKIP_COMMENTS</param-name>
       		    	<param-value>true</param-value>
      </context-param>
      <servlet>
        <description></description>
        <display-name>TestTransactionBMT</display-name>
        <servlet-name>TestTransactionBMT</servlet-name>
        <servlet-class> com.gol.TestTransactionBMT </servlet-class>
      </servlet>
      <servlet>
        <description></description>
        <display-name>TestTransactionBMT2</display-name>
        <servlet-name>TestTransactionBMT2</servlet-name>
        <servlet-class> com.gol.TestTransactionBMT2 </servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>TestTransactionBMT</servlet-name>
        <url-pattern>/TestTransactionBMT </url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>TestTransactionBMT2</servlet-name>
        <url-pattern>/TestTransactionBMT2 </url-pattern>
      </servlet-mapping>
      <servlet>
        <description></description>
        <display-name>TestServlet</display-name>
        <servlet-name>TestServlet</servlet-name>
        <servlet-class>com.gol.web.TestServlet</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>TestServlet</servlet-name>
        <url-pattern>/TestServlet</url-pattern>
      </servlet-mapping>
      <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>
      
      <context-param>
        <param-name>org.richfaces.SKIN</param-name>
        <param-value>blueSky</param-value>
      </context-param>
      <context-param>
        <param-name>org.richfaces.CONTROL_SKINNING</param-name>
        <param-value>enable</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>
      <context-param>
        <description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>
        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
        <param-value>client</param-value>
      </context-param>
      <context-param>
        <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
        <param-value>resources.application</param-value>
      </context-param>
      <listener>
        <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
      </listener>
      <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.jsf</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.faces</url-pattern>
      </servlet-mapping>
    </web-app>
    Parallèlement à cela j'ai adapté mon fichier jsf qui est donc maintenant un fichier xhtml .. Voici ce que ça donne :
    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
    <?xml version="1.0" encoding="ISO-8859-1"?>
     
    <!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:h="http://java.sun.com/jsf/html"
    	xmlns:a4j="http://richfaces.org/a4j"
    	xmlns:rich="http://richfaces.org/rich"
    	xmlns:ui=" http://java.sun.com/jsf/Facelets">
     
    <head>
    	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    	<link rel="stylesheet" type="text/css" href="css/style.css" />
    	<title>Viva RichFaces</title>
    </head>
    <body>
    <f:view>
     
    <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:a4j="http://richfaces.org/a4j"
          xmlns:rich="http://richfaces.org/rich">
     
    <h:form id="form01">
    ...
    </h:form>
     
    </ui:composition>
     
    </f:view>
    </body>
    </html>
    Mais par contre, pas moyen d'afficher la page, que ce soit avec /faces/ dans l'url ou pas, en faite le navigateur me propose de télécharger le fichier xhtml, et alors j'ai des warning sur les 3 tags html situés dans le head.

    J'préfère demander parce que a force d'essayer des trucs dans tous les sens je fini par plus savoir ce qui est bien ou mal

  13. #13
    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
    utilise un seul URL pattern. si tu prend celui *.jsf.

    et tu peux lancer la page /page.jsf

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2010
    Messages : 65
    Par défaut
    ok ..

    J'ai enlevé ..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.faces</url-pattern>
      </servlet-mapping>
    .. qui était présent deux fois effectivement

    Il me propose toujours de télécharger page.jsf

    Par contre si je rajoute /faces/page.jsf
    J'ai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    La ressource demand�e (/Projet/faces/page.xhtml) n'est pas disponible.
    Je suppose que jsf fait bien le lien entre xhtml & jsf mais qu'il n'arrive pas l'executer ?

    Voici web.xml mis à jour
    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
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
      <display-name>ProjetWeb</display-name>
      <welcome-file-list>
        <welcome-file>index.htm</welcome-file>
      </welcome-file-list>
      <context-param>
          <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
          <param-value>.xhtml</param-value>
      </context-param>
      <!--  Pour rendre les tags de commentaires effectifs dans les fichiers XHTML -->
      <context-param>
    	<param-name>facelets.SKIP_COMMENTS</param-name>
    	<param-value>true</param-value>
      </context-param>
      <servlet>
        <description></description>
        <display-name>TestTransactionBMT</display-name>
        <servlet-name>TestTransactionBMT</servlet-name>
        <servlet-class> com.gol.TestTransactionBMT </servlet-class>
      </servlet>
      <servlet>
        <description></description>
        <display-name>TestTransactionBMT2</display-name>
        <servlet-name>TestTransactionBMT2</servlet-name>
        <servlet-class> com.gol.TestTransactionBMT2 </servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>TestTransactionBMT</servlet-name>
        <url-pattern>/TestTransactionBMT </url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>TestTransactionBMT2</servlet-name>
        <url-pattern>/TestTransactionBMT2 </url-pattern>
      </servlet-mapping>
      <servlet>
        <description></description>
        <display-name>TestServlet</display-name>
        <servlet-name>TestServlet</servlet-name>
        <servlet-class>com.gol.web.TestServlet</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>TestServlet</servlet-name>
        <url-pattern>/TestServlet</url-pattern>
      </servlet-mapping>
      <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
      </servlet>
      <context-param>
        <param-name>org.richfaces.SKIN</param-name>
        <param-value>blueSky</param-value>
      </context-param>
      <context-param>
        <param-name>org.richfaces.CONTROL_SKINNING</param-name>
        <param-value>enable</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>
      <context-param>
        <description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>
        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
        <param-value>client</param-value>
      </context-param>
      <context-param>
        <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
        <param-value>resources.application</param-value>
      </context-param>
      <listener>
        <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
      </listener>
      <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.jsf</url-pattern>
      </servlet-mapping>
    </web-app>

  15. #15
    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
    Normalement le path doit être :

    /Projet/page.jsf

  16. #16
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2010
    Messages : 65
    Par défaut
    Oui, en effet.

    J'ai une fenêtre qui s'ouvre comme pour télécharger une page sur le web : "Voulez-vous télécharger page.jsf"

    Donc jsf trouve la page c'est déjà ça

Discussions similaires

  1. Réponses: 0
    Dernier message: 09/05/2013, 17h19
  2. richfaces: probléme avec a4j:commandButton
    Par Narouto dans le forum JSF
    Réponses: 5
    Dernier message: 08/06/2011, 23h54
  3. Problème avec a4j:commandButton (richfaces)
    Par elbissat dans le forum JSF
    Réponses: 3
    Dernier message: 29/05/2009, 15h27
  4. problème avec a4j:outputPanel (richfaces)
    Par nawrasarum dans le forum JSF
    Réponses: 8
    Dernier message: 15/05/2009, 12h59
  5. Problèmes avec a4j dans richfaces
    Par jean-pierre96 dans le forum JSF
    Réponses: 4
    Dernier message: 02/02/2009, 19h04

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