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 :

Méthode ajax de JQuery avec JSF


Sujet :

JSF Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 191
    Par défaut Méthode ajax de JQuery avec JSF
    Bonjour à tous,

    Modèle de la méthode ajax utilisée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $.ajax({
                type: 'POST',
                url: 'some.jsp',
                success: function(msg){
                    document.getElementById('fragmentId').innerHTML=msg;
                },
                error: function (xhr, ajaxOptions, thrownError){
                    alert(xhr.status + " : " + thrownError);
                }
            });
    Pour mon application, j'utilise des balises JSF dans some.jsp (fichier cible de la méthode ajax). Mais la méthode ajax ne semble pas fonctionner avec des composants JSF (Erreur 500).
    J'ai fait plusieurs essais et seules les balises html et java marchent.

    Est ce que les balises JSF peuvent être utilisées dans some.jsp ?
    Existe-t-il des astuces pour contourner ce dysfonctionnement ?
    Suis-je contraint d'utiliser du code html ?

    Merci pour votre aide,

    Code html qui marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <%@page contentType="text/html" pageEncoding="UTF-8"%>
        <body id='body'>
            tata
        </body>
    </html>
    Code java qui marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <%
    out.println("tata");
    %>
    Code JSF qui ne marche pas (Erreur 500) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <jsp:root version="2.1" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:webuijsf="http://www.sun.com/webui/webuijsf">
        <jsp:directive.page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"/>
        <f:subview id="subview">
            <webuijsf:panelLayout id="panelLayout" panelLayout="flow"
                                  style="height: 118px; left: 0; top: 311px; position: absolute; width: 646px">
                <webuijsf:textField id="textField" style="left: 24px; top: 24px; position: absolute" text="exemple"/>
            </webuijsf:panelLayout>
        </f:subview>
    </jsp:root>

  2. #2
    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
    salut,

    premièrement il ne faut pas utiliser les scriptlets jsp avec JSF, et si tu veux faire de l'ajax avec JSF, tu peux utiliser Richfaces, elle permet en plus d'utiliser la librairie jquery.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 191
    Par défaut
    Merci pour ta réponse, je vais essayer d'utiliser Richfaces alors. Est ce que ce framework est simple d'utilisation?

    Je voulais faire du JQuery pour ne pas recharger toute la page mais qu'une partie (méthode $.ajax()).

    Quel est l'équivalent Richfaces de cette méthode?
    Aurais-tu des liens intéressants sur Richfaces pour réaliser cette fonction?
    Peux-tu me donner quelques pistes pour arriver à mes fins?

    Je te remercie

  4. #4
    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
    Citation Envoyé par scorplayer Voir le message
    Merci pour ta réponse, je vais essayer d'utiliser Richfaces alors. Est ce que ce framework est simple d'utilisation?

    Je voulais faire du JQuery pour ne pas recharger toute la page mais qu'une partie (méthode $.ajax()).

    Quel est l'équivalent Richfaces de cette méthode?
    Aurais-tu des liens intéressants sur Richfaces pour réaliser cette fonction?
    Peux-tu me donner quelques pistes pour arriver à mes fins?

    Je te remercie
    Oui Richfaces, est la bonne solution, tu trouvera sur ma signature un article sur Richfaces, voilà le site de démo, il y'a le lien pour la documentation.

    Le principe de Richfaces est simple, pour chaque composant JSF, tu peux ajouter le support ajax avec a4j:support, qui permet d'envoyer la requete ajax, ensuite tu peux mettre à jour qu'une partie de la page au lieu.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 191
    Par défaut
    Merci Sniper37.

    Je me suis ainsi mit à Richfaces. J'ai réalisé un projet web simple à partir du guide "RichFaces Developer Guide" trouvé sur le site. Ce projet marche nikel.

    Cependant, quand j'importe les jar nécessaires dans mon projet, mon application se bloque (le navigateur réfléchi jusqu'à un PermGen space) sans qu'aucune erreur s'affiche.

    Donc, l'intégration de Richfaces est un succès sur un projet simple (simple projet web war) mais c'est un échec sur un projet complexe (projet EJB + projet web + projet EAR).

    Merci de votre aide

  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
    le serveur est le même?
    quels sont les jars de ton projet web?

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 191
    Par défaut
    Le serveur est le même : JBoss.

    Les jars Richfaces de mon projet web :
    commons-beanutils.jar
    commons-collections-3.2.1.jar
    commons-digester-1.8.jar
    commons-logging-1.1.1.jar
    richfaces-api-3.3.0.GA.jar
    richfaces-impl-3.3.0.GA.jar
    richfaces-ui-3.3.0.GA.jar

    Les autres jars de mon projet web :
    webui-jsf_fr.jar
    webui-jsf-suntheme_fr.jar
    monEjb.jar

    Les librairies de mon projet web :
    JSF 1.2
    JSTL 1.1
    Hibernate JPA
    JSF 1.1/1.2 Support
    Web UI Components
    Web UI Default Theme

    Merci

  8. #8
    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
    JSF 1.1/1.2 Support
    Web UI Components
    Web UI Default Theme
    pourquoi ne pas utiliser JSF ou myfaces? webui c'est quel version de JSF?

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 191
    Par défaut
    webui c'est quel version de JSF?
    Comment faire pour connaître la version de JSF pour web UI?

    pourquoi ne pas utiliser JSF ou myfaces?
    J'utilise plusieurs composants web UI comme PanelLayout, body... Je ne vois pas comment les remplacer par des composants JSF ou myfaces.

  10. #10
    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
    Je ne connais pas cette librairie, regarde la version que tu utilise, si elle vient avec netbeans regarde la version dans netbeans.

    Richfaces 3.3.x est compatible seulement avec JSF 1.2 et java supérieur à 5.0 .

    regarde aussi la démo de Richfaces, tu as des layoutPanel et des panels, qui peuvent remplacer facilement tes composants.

    Ce n'est pas sur que cette librairie va perdurer, Sun après la fusion avec Oracle risque de l'arrêter au profit de Oracle ADF?

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 191
    Par défaut
    En supprimant juste les doublons de jars (webui-jsf_fr.jar et webui-jsf-suntheme_fr.jar sont présents dans les librairies Web UI Components et Web UI Default Theme) l'application se lance bien. Je ne comprends pas très bien pourquoi, cette modification semble minime, mais bon ça marche.

    Mais maintenant, quand je recharge ma page j'ai l'erreur JRE :
    #
    # A fatal error has been detected by the Java Runtime Environment:
    #
    # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6dcf75d5, pid=3560, tid=2972
    #
    # JRE version: 6.0_17-b04
    # Java VM: Java HotSpot(TM) Server VM (14.3-b01 mixed mode windows-x86 )
    # Problematic frame:
    # V [jvm.dll+0x1975d5]
    #
    # An error report file with more information is saved as:
    # C:\Program Files\NetBeans 6.7.1\hs_err_pid3560.log
    #
    # If you would like to submit a bug report, please visit:
    # http://java.sun.com/webapps/bugreport/crash.jsp
    #
    Est ce que ça peut venir du code que j'ai rajouté à web.xml pour l'installation de Richfaces ?

    Ajout dans 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
     
    <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>
    Peut-il avoir plusieurs balises filter dans web.xml? Pourquoi l'application se charge correctement la première fois et la seconde ça plante?

    Merci

  12. #12
    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
    l'erreur n'est pas tres explicite, peut être c'est lié à Netbeans.

    tu ne peux pas avoir des jars en double dans ton application.

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 191
    Par défaut
    J'utilise JSF 1.2 et java 6.

    regarde aussi la démo de Richfaces, tu as des layoutPanel et des panels, qui peuvent remplacer facilement tes composants.
    Tu pense que l'erreur peut venir de Web UI?

    Donc, l'intégration de Richfaces est un succès sur un projet simple (simple projet web war) mais c'est un échec sur un projet complexe (projet EJB + projet web + projet EAR).
    Le truc c'est qu'une page toute simple avec les mêmes balises que les miennes (ex webuijsf:panelLayout) marche!

    Pour quelle raison le JRE peut planter? Problème de version?

  14. #14
    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
    C'est difficile de deviner ce qui ne marche pas comme ça, regarde si tu as plus d'informations dans l'exception, ou au démarrage du serveur.

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 191
    Par défaut
    Merci pour ton aide Sniper37.
    Ne voyant pas pourquoi l'intégration ne marche pas, je vais rester sur des composants basics. Je reviendrais sur Richfaces sur un autre projet... Dommage, cet outil paraît puissant.

    Pour ceux qui souhaitent utiliser Richfaces voici quelques liens.

    Petit exemple à lire pour vous convaincre : Say Hello Version Richfaces

    Installation de Richfaces : Richfaces

    Tous les plugins Richfaces pour NetBeans : NetBeans.org

    Tuto avec les principaux composants, notamment la balise <a4j:support /> : Applications RIA avec Richfaces

    Bon courage

Discussions similaires

  1. Réponses: 7
    Dernier message: 18/09/2014, 11h17
  2. Problème JQuery avec JSF
    Par élève_ingénieur dans le forum JSF
    Réponses: 1
    Dernier message: 15/07/2011, 16h17
  3. Intégration de JQuery avec JSF
    Par YoNoSe dans le forum jQuery
    Réponses: 2
    Dernier message: 26/10/2010, 20h03
  4. [jQuery]Ajax et get avec un fichier php
    Par zabibof dans le forum jQuery
    Réponses: 3
    Dernier message: 08/07/2008, 09h32
  5. [AJAX] Creer une méthode ajax avec un return
    Par Khrysby dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/04/2007, 19h01

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